私が取り組んでいるdjango Webプロジェクトで行き詰まりましたが、答えが見つからないようです。次のような単純なビューをテストしようとしています。
def list(request):
return JsonResponse( {"foo": "bar"} )
それはすべてうまくいくようです。ブラウザでサイトを開いて Page-Info を確認すると、「Type: application/json」と表示されます。
ただし、travis ciで次のテストを実行すると:
def setUpTestData(cls):
cls.client = Client()
#A few lines of setting up test-data
def test_content_type(self):
response = self.client.get('/api/list')
self.assertEqual(response['content-type'], 'application/json')
次の失敗が発生します。
FAIL: test_content_type (researchlibrary.api.tests.test_list.ListTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/FUB-HCC/ACE-Research-Library/researchlibrary/api/tests/test_list.py", line 25, in test_content_type
self.assertEqual(response['content-type'], 'application/json')
AssertionError: 'text/html' != 'application/json'
- text/html
+ application/json
URLはすべて問題ありません。テストは正しいページを受け取ります。タイプは application/json ではなく text/html のように見えますが、その理由はわかりません。
なぜこれができるのか、誰かが何か考えを持っていますか?
編集: self.client.get('/api/list') を self.client.get('/api/list/') に変更すると問題が解決しました。