2017-05-04 3 views
0

私はdjango-rest-frameworkをテストしています。私はjson形式で一部のコンテンツをPOST、それが正しく投稿されたかどうかをテストしたいとき、私はDjangoでテストする:jsonオブジェクトでassertEqualを使用するとすべての文字を表示する方法は?

assertEqualjson形式)と
resp_get = self.client.get(self.url) 

とテストで掲示オブジェクトを取得しよう:

self.assertEqual(
      json.loads(resp_get.content.decode('utf8')), 
      [ 
       { 
        'id': researcher.id, 
        'first_name': researcher.first_name, 
        'surname': researcher.surname, 
        'email': researcher.email, 
        'studies': [], 
        'nes_id': researcher.nes_id, 
        'owner': researcher.owner.username 
       } 
      ] 
     ) 

比較として、結果が偽の場合は、AssertionErrorというメッセージが表示されます。

AssertionError: {'id': 1, 'first_name': 'João Maria', 'su[102 chars]ab1'} != [{'id': 1, 'first_name': 'João Maria', 's[104 chars]b1'}] 

AssertionErrorは、su[102 chars]ab1s[104 chars]b1のように、AssertionErrorが圧縮されたオブジェクトを返すので、どちらも全体としてjsonのオブジェクトを比較することは可能ですか?

答えて

2

使用assertDictEqual

self.assertDictEqual(item1, item2) 
関連する問題