5

私が取り組んでいる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/') に変更すると問題が解決しました。

4

1 に答える 1