Multiple parameters#
A test can define multiple parameters by including multiple names and a corresponding table of values:
# Copyright NTESS. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: MIT
import sys
import canary
canary.directives.parameterize("a,b", [(1, 2), (5, 6)])
def test():
self = canary.test.instance
print(f"{self.parameters.a=}, {self.parameters.b=}")
if __name__ == "__main__":
sys.exit(test())
$ canary describe parameterize/parameterize2.pyt
--- parameterize2 ------------
File: /home/docs/checkouts/readthedocs.org/user_builds/canary-wm/checkouts/release-26.4.16/src/canary/examples/parameterize/parameterize2.pyt
Keywords:
2 test specs using on_options=:
├── parameterize2.a=1.b=2
└── parameterize2.a=5.b=6
Note
For len(names) must equal len(values[i]). E.g. len(['a', 'b']) == len((1, 2)) == len((5, 6)).