Deweloperzy słuchali <3 Narzekałem przez jakiś czas, że pisanie testów dla asercji @phylaxsystems miało naprawdę zły devex. Zewnętrzne opinie to potwierdziły, a naprawa devex została priorytetowo potraktowana. Naprawa to prostszy i potężniejszy interfejs testowy!
Zamiast najpierw ustawiać asercję z mylącą etykietą i abi.encode, a następnie używać skomplikowanego cl.validate do stworzenia transakcji, aby uruchomić asercję, mamy teraz jeden prosty cheatcode, który ustawia asercję do uruchomienia w następnej transakcji.
Tylko jedna funkcja asercji jest uruchamiana w odniesieniu do transakcji. Wcześniej wszystkie funkcje asercji, które wywołała transakcja, były uruchamiane, co utrudniało testowanie konkretnych funkcji asercji.
cl.validate() nie zachował zmian stanu spowodowanych przez transakcję, którą zweryfikował. W nowym interfejsie transakcje są wykonywane zgodnie z oczekiwaniami, a stan jest aktualizowany, co oznacza, że możesz zweryfikować, że zmiany stanu miały miejsce zgodnie z oczekiwaniami i pisać bardziej kompletne testy.
Na koniec możesz teraz dopasować się do dokładnych powodów cofnięcia, co znacznie ułatwia pisanie testów dla konkretnych przypadków brzegowych, które nie przechodzą określonego sprawdzenia w funkcji asercji.
Jako osoba, która do tej pory napisała wiele testów asercji, uważam tę aktualizację za niesamowitą. Muszę pisać mniej kodu, a mam większą kontrolę i funkcjonalność - devex taki, jaki powinien być. Zespół Phylax jest na 🔥
163