---
title: "Test(_:_:arguments:)"
framework: testing
role: symbol
role_heading: Macro
path: "testing/test(_:_:arguments:)-3rzok"
---

# Test(_:_:arguments:)

Declare a test parameterized over two zipped collections of values.

## Declaration

```swift
@attached(peer) macro Test<C1, C2>(_ displayName: String? = nil, _ traits: any TestTrait..., arguments zippedCollections: Zip2Sequence<C1, C2>) where C1 : Collection, C1 : Sendable, C2 : Collection, C2 : Sendable, C1.Element : Sendable, C2.Element : Sendable
```

## Parameters

- `displayName`: The customized display name of this test. If the value of this argument is nil, the display name of the test is derived from the associated function’s name.
- `traits`: Zero or more traits to apply to this test.
- `zippedCollections`: Two zipped collections of values to pass to testFunction.

## Overview

Overview You can prefix the expression you pass to zippedCollections with try or await. The testing library evaluates the expression lazily only if it determines that the associated test will run. During testing, the testing library calls the associated test function once for each element in zippedCollections.

## See Also

### Related Documentation

- [Defining test functions](testing/definingtests.md)

### Test parameterization

- [Implementing parameterized tests](testing/parameterizedtesting.md)
- [Test(_:_:arguments:)](testing/test(_:_:arguments:)-8kn7a.md)
- [Test(_:_:arguments:_:)](testing/test(_:_:arguments:_:).md)
- [CustomTestArgumentEncodable](testing/customtestargumentencodable.md)
- [Test.Case](testing/test/case.md)
