from flexmock import flexmock
class Addition:
def add(self,num1,num2):
return num1+num2
mock=Addition()
flexmock(mock)
mock.should_receive('add')
assert mock.add(1,2)==3
我使用flexmock模拟了Addition类。现在假设如果我还想确保add方法只接收整数值。如何编写测试用例以增加需求。还是我遵循完全错误的道路?
答案 0 :(得分:0)
嗯,这真的是正确的。您可以将原始函数更改为Exception
,并且可以测试导致该函数出现的情况,或者您可以执行此类操作(我使用pytest
btw):
def test_add(num1, num2):
with pytest.raises(TypeError):
return num1 + num2
test_add(2, 'fizz') ---> PASSED
test_add(2, 2) ---> FAILED
Failed: DID NOT RAISE <type 'exceptions.TypeError'>