Decorate a test method to run it as a set of subtests. Modeled after pytest.parametrize.
(names, value_groups)
| 5 | |
| 6 | |
| 7 | def parameterize(names, value_groups): |
| 8 | """ |
| 9 | Decorate a test method to run it as a set of subtests. |
| 10 | |
| 11 | Modeled after pytest.parametrize. |
| 12 | """ |
| 13 | |
| 14 | def decorator(func): |
| 15 | @functools.wraps(func) |
| 16 | def wrapped(self): |
| 17 | for values in value_groups: |
| 18 | resolved = map(Invoked.eval, always_iterable(values)) |
| 19 | params = dict(zip(always_iterable(names), resolved)) |
| 20 | with self.subTest(**params): |
| 21 | func(self, **params) |
| 22 | |
| 23 | return wrapped |
| 24 | |
| 25 | return decorator |
| 26 | |
| 27 | |
| 28 | class Invoked(types.SimpleNamespace): |
no outgoing calls
no test coverage detected
searching dependent graphs…