Невозможно проверить равенство rest_framework.utils.serializer_helpers.ReturnList при тестировании
Будучи новичком в django rest framework, я попытался сделать простой unittest для тестирования простой конечной точки search api. Однако, когда я пытаюсь проверить равенство данных ответа и ожидаемого результата, assertEqual всегда возвращает False, хотя на самом деле это один и тот же результат.
Вот тестовый класс
# imports...
client = APIClient()
User = get_user_model()
class SearchTest(APITestCase):
def setUp(self):
landlord = User.objects.create_user("a@a.com", "testuser", "firstname", "lastname", "password")
self.test1_listing = Listing.objects.create(name="test1", place="Pinekarta", adult_guests=2, landlord=landlord)
self.test2_listing = Listing.objects.create(name="test2", place="Pinekarta", landlord=landlord)
self.test3_listing = Listing.objects.create(name="test3", place="New Bannkarta", landlord=landlord)
def test_valid_place(self):
response = client.get(reverse('api-search', kwargs={'place': "New Bannkarta"}), format='json')
result = DetailedListingSerializer(instance=[self.test3_listing], many=True).data
print(type(result))
print(type(response.data))
self.assertEqual(response.data, result)
Хотя result и response.data имеют одинаковый тип и их строковое представление одинаково, по какой-то причине assertEqual всегда терпит неудачу.
self.assertEqual(response.data, result)
AssertionError: [Orde[690 chars]ber_of_comments', 0), ('comments', []), ('avg_rating', None)])] != [Orde[690 chars]ber_of_comments', 0), ('comments', []), ('avg_rating', None)])]