26 lines
613 B
Python
26 lines
613 B
Python
|
import py
|
||
|
|
||
|
# test support code
|
||
|
def params(funcarglist):
|
||
|
def wrapper(function):
|
||
|
function.funcarglist = funcarglist
|
||
|
return function
|
||
|
return wrapper
|
||
|
|
||
|
def pytest_generate_tests(metafunc):
|
||
|
for funcargs in getattr(metafunc.function, 'funcarglist', ()):
|
||
|
metafunc.addcall(funcargs=funcargs)
|
||
|
|
||
|
|
||
|
# actual test code
|
||
|
|
||
|
class TestClass:
|
||
|
@params([dict(a=1, b=2), dict(a=3, b=3), dict(a=5, b=4)], )
|
||
|
def test_equals(self, a, b):
|
||
|
assert a == b
|
||
|
|
||
|
@params([dict(a=1, b=0), dict(a=3, b=2)])
|
||
|
def test_zerodivision(self, a, b):
|
||
|
py.test.raises(ZeroDivisionError, "a/b")
|
||
|
|