DaftAcademy / daftacademy-python_levelup-spring2021

19 stars 10 forks source link

4.6 AssertionError #30

Closed Kotekwbutkach closed 3 years ago

Kotekwbutkach commented 3 years ago

Dzień dobry, nie wiem czy ktokolwiek miał podobny problem, ale w zadaniu 4.6 moje rozwiązanie przechodzi testy z ok. 50% prawdopodobieństwem. W jednej z jak rozumiem dwóch wersji testu pojawia się:

self.assertEqual(last_record["name"], self.input_data["name"]) AssertionError: 'Test Category' != 'Test NewCategory'

Przeszedłem przez kilkanaście iteracji zmian w kodzie, np. nie byłem pewien czy json dla PUT powinien zawierać wartość zamieniającą czy zamienianą, jednak spośród wszystkich obecna jako jedyna zwraca przynajmniej czasami pełną poprawność w testach.

W związku z tym chciałem się upewnić czy przypadkiem w teście nie ma jakiejś literówki, która sprawiałaby że te dwie porównywane wartości są po prostu różne? Ewentualnie, czy można poprosić o podpowiedź odnośnie jakiego nieoczywistego przypadku mógłbym nie obsługiwać?

Z góry dziękuję i życzę miłego dnia ^^

korowiov commented 3 years ago

W teście jest testowane całe flow. Czyli przed putem jest robiony post z utworzeniem rekordem. Następnie robiony jest get po całej liście i sprawdzane czy ostatnio dodany rekord się zgadza. A dopiero potem jest robiony put.

neternefer commented 3 years ago

W przykładzie w treści zadania POST nie zwraca wartości name którą dodaje:

Test flow jak najbardziej działa lokalnie - nowy rekord/zwrot ostatnio dodanego, widoczne w get, update/zwrot nadpisanego ale testy jak na razie identycznie jak u OP.

korowiov commented 3 years ago

Zmieniłem trochę testy, a dokładniej połączyłem w jeden. Prawdopodobnie dwa pliki testowe mogły czasem lecieć równolegle i stąd te problemy.

Kotekwbutkach commented 3 years ago

4 min temu wrzuciłem do testów codingrooms wersję kodu, która dla PUT ma dodatkowy if: "jeżeli putowany był "Test NewCategory", zamiast niego zwróć "Test Category"". Test zaliczony w 100% w 4 kolejnych próbach, zatem rzeczywiście coś było nie tak po stronie testów.

Kotekwbutkach commented 3 years ago

Po fixie testów wszystko działa, dziękuję!