これは私のプロジェクトの単純な構造です:
MyAPP---
note---
__init__.py
views.py
urls.py
test.py
models.py
auth--
...
template---
auth---
login.html
register.html
note---
noteshow.html
media---
css---
...
js---
...
settings.py
urls.py
__init__.py
manage.py
noteshowページが正常に動作するかどうかをテストできる単体テストを作成したいと思います。
コード:
from django.test import TestCase
class Note(TestCase):
def test_noteshow(self):
response = self.client.get('/note/')
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, '/note/noteshow.html')
問題は、私のプロジェクトに auth mod が含まれていることです。これにより、ログインしていないユーザーが noteshow.html にアクセスしたときに、login.html ページに強制的にリダイレクトされます。
そのため、単体テストを実行すると、bash で response.status_code が常に 200 ではなく 302 であるというエラーが発生します。
この結果から、auth mod が正常に動作していることを確認できますが、私が望んでいるものとは異なります。
OK、問題は、noteshow.template が使用されているかどうかを確認するために別の単体テストを作成するにはどうすればよいかということです。
全てに感謝。
ジャンゴのバージョン: 1.1.1
Python バージョン: 2.6.4
MAC OS に Eclipse を使用する