擅长:python、mysql、java
<p>如果你想真正测试你的函数抛出了异常,你需要直接测试这个函数,而不是通过POST。比如:</p>
<pre><code>from django.test import RequestFactory
@patch('reports.tasks.create_frozen_schedule')
def test_freeze_schedule_with_conflict(self, mock_freeze):
mock_freeze.side_effect = IntegrityError
myrequest = RequestFactory().post(*some_url*)
# you may need to add, e.g., items to myrequest.POST
with self.assertRaises(IntegrityError):@patch('reports.tasks.create_frozen_schedule')
freeze_schedule(myrequest, pk)
</code></pre>