(no title)
nsdarren | 4 years ago
I haven't documented this yet, but due to the way Ward works you can actually write your tests inside a loop in order to parameterise them (see below). This is a little more explicit, and lets you build up your test data using things like itertools (if you like):
for lhs, rhs, res in [
(1, 1, 2),
(2, 3, 5),
]:
@test("simple addition")
def _(left=lhs, right=rhs, result=res):
assert left + right == result
I'm considering how/whether to add a pytest style decorator for parameterisation too.If you give Ward a try or just have any other general feedback, please let me know if you have any issues/suggestions on GitHub.
O5vYtytb|4 years ago
nsdarren|4 years ago
Since multiple tests can share the same tag in Ward, if you wanted to narrow things down to ensure you're only selecting from the tests generated in this loop you could do something like `ward --search 'simple addition' --tags thing2`.
You can also select multiple instances at once with `ward --tags 'thing1 or thing3'`.
anentropic|4 years ago