Django アプリケーションのテスト ケースを作成していますが、Python で requests パッケージを使用してステータス コードにアクセスし、assert ステートメントを使用しています。このテスト ケースは、スタッフ ユーザーのみを対象としています。
class StaffClientServerTestCase(TestCase):
def test_login_staff(self):
User.objects.create_superuser('abc', 'abc@gmail.com', '1234')
self.client.login(username='abc', password='1234')
self.client.get('/dashboard/')
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
self.assertEqual(200, s.status_code)
ダッシュボードにアクセスできるのはスタッフ ユーザーだけなので、スタッフ ユーザー オブジェクトを作成しました。次の行
self.client.login(username='abc', password='1234')
が現実になりつつあります。
self.client.get('/dashboard/')
この行を印刷すると、ページの html コンテンツが表示されます。これは、スタッフ ユーザーが にアクセスできることを意味しますdashboard
。
しかし、リクエストモジュールを使用してdashboard
url のステータスコードを確認すると、それが表示されstatus code = 500
、テストが失敗しています。
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
ここでどこが間違っているのか誰か教えてもらえますか? スタッフユーザーがダッシュボードにアクセスしてその内容をprint self.client.get('/dashboard/')
. ヘルプ!