내가이 오류를 얻을 실패동일하지만, 테스트
AssertionError: [{'a': 20220, 'b': 1623}] != [{'a': 20220, 'b': 1623}]
양측이 동일하게 보일를하지만, assertEqual()는 실패합니다.
오류 메시지는 양쪽이 동일하기 때문에 이상하게 보입니다.
내가이 오류를 얻을 실패동일하지만, 테스트
AssertionError: [{'a': 20220, 'b': 1623}] != [{'a': 20220, 'b': 1623}]
양측이 동일하게 보일를하지만, assertEqual()는 실패합니다.
오류 메시지는 양쪽이 동일하기 때문에 이상하게 보입니다.
해결책을 직접 찾았습니다. 한쪽
은 딕셔너리이고 다른 쪽 장고 ORM의 결과 :
self.assertEqual([{'a': a.id), 'b': int(b.id)}], Foo.objects.filter(b=b).values())
장고 결과 주위리스트()을 첨가 한 후 작동 ORM :
self.assertEqual([{'a': a.id), 'b': int(b.id)}], list(Foo.objects.filter(b=b).values()))
쿼리 세트를 목록과 비교할 때는 assertSequenceEqual
을 사용해야합니다.
결과의 순서가 중요하지 않은 경우 assertCountEqual
(파이썬 2에서는 assertItemsEqual
)이라고 잘못 명명해야합니다.
투표자 여러분 께 :이 해결책이 좋지 않다고 생각하는 이유를 적어주세요. – guettli
내 iPhone에서 이것을 읽을 때 실수로 화면의 잘못된 부분을 클릭 한 것 같습니다. 불행히도, 투표를 취소하지 않으려는 것 같습니다. :( –