在 Django 中测试视图时,我使用 python 模拟来修补一些函数和类。
如果我独立运行每个测试,则所有测试都有效。但是当我运行TestCase时,一些测试不起作用(补丁没有效果)。
class ViewsTest(TestCase):
@mock.patch('extras.utils.get_user_category')
def test_select_test(self, mock_method):
mock_method.return_value = Category(id=1, name="Foo")
response = self.client.post(reverse('select_test', args=['Foo']))
self.assertEqual(200, self.client.post(reverse('select')).status_code)
@mock.patch('user_profile.models.Profile.categories')
def test_category_view(self, mock_related):
mock_related.all.return_value = []
self.assertEqual(200, self.client.post(reverse('category')).status_code)
我有一个 print int 视图来查看每个模拟方法,当它工作时它会打印:
MagicMock name='get_user_category' id='162815756'
当不起作用时我看到:
函数 get_user_category 位于 0x8e0fb8c
我尝试了修补程序 start() 和 stop() 但仍然有问题。
问题是什么?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)