2017-02-19 33 views
0

私はdjangoアプリケーションを作成し、そのためのテストを書いています。ユニットテストでのdjangoでの手動例外のスローを処理する方法は?

raise Http404('Not authorised')

(unittestのに基づいて)その使用してDjangoの組み込みのテストフレームワークのためのテストを書いている間:私は手動で例外をスローしています私のビューのいずれかで 。

TL; DR:ビューが実際にHttp404を返すようにテストを書く方法はありますか?

+1

['assertRaises'](https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRaises)を試しましたか?また、テストコードを表示できますか? –

+0

assertRaisesをチェックアウトします!ありがとう@ shiplu.mokadd.im –

+0

"does not work"は十分に明確ではありません。完全なトレースバックを貼り付けてください – Udi

答えて

0

これは動作するはずです(assertEqual(response.status_code, 404は動作しません):

resp = self.client.get(url) 
self.assertEqual(resp.status_code, 404) 

を経由してテストを実行します。

python manage.py test 

それは、あなたのコードを再確認し、エラーメッセージを供給しない場合。

+0

ええ、これは動作しません。 'assertEqual'は動作しません。 –