0
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 方法只接收整数值。如何为添加的需求编写测试用例。还是我走错了路?

4

1 回答 1

0

好吧,这真的取决于对。您可以将原始函数更改为具有一个Exception,您可以测试导致这种情况出现的情况,或者您可以执行以下操作(我使用pytestbtw):

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'>
于 2017-04-17T10:41:16.357 回答