2024-04-23 09:58:00 发布
网友
我使用Django作为我的web开发框架。现在我正在写unittest。我如何断言一个函数没有在我的测试代码中执行?在
在这个例子中,<我的用户输入的是一个错误的密码。我想确保在这个用例中没有执行重置密码功能。在
好吧,这并不能真正反映真实情况,但我希望你能明白我的意思。在
使用mock.patch.object和assert_not_called或{}来执行此操作。 假设您在mymodule.py中定义函数:
mock.patch.object
assert_not_called
mymodule.py
def function_can_not_be_called(): pass def func(call): if call: function_can_not_be_called()
test_mymodule.py中的测试代码
test_mymodule.py
我想回答我自己的问题。到目前为止,我的解决方案是使用^{}。示例这是重置密码函数的位置:utils/password.py
utils/password.py
class Password(object): def reset(self): ...
所以我需要在我的测试代码test/login.py模拟这个对象
test/login.py
我要做的是使用mock。模拟函数并断言mock_function.call_count==0。在
mock_function.call_count==0
您可以在这里阅读有关mock的更多信息:https://docs.python.org/3/library/unittest.mock.html
使用}来执行此操作。
假设您在
mock.patch.object
和assert_not_called
或{mymodule.py
中定义函数:
^{pr2}$test_mymodule.py
中的测试代码我想回答我自己的问题。到目前为止,我的解决方案是使用^{} 。示例这是重置密码函数的位置:
utils/password.py
所以我需要在我的测试代码
^{pr2}$test/login.py
模拟这个对象我要做的是使用mock。模拟函数并断言
mock_function.call_count==0
。在您可以在这里阅读有关mock的更多信息:
https://docs.python.org/3/library/unittest.mock.html
相关问题 更多 >
编程相关推荐