Разработчики прислушались <3 Я долго жаловался, что написание тестов для утверждений @phylaxsystems имело действительно плохой опыт разработки. Внешняя обратная связь это подтвердила, и исправление опыта разработки было приоритизировано. Исправление — это более простой и мощный интерфейс для тестирования!
Вместо того чтобы сначала настраивать утверждение с запутанным ярлыком и abi.encode, а затем использовать запутанный cl.validate для создания транзакции, чтобы выполнить утверждение, у нас теперь есть один простой чит-код, который настраивает утверждение для выполнения против следующей транзакции.
Против транзакции выполняется только одна функция утверждения. Ранее выполнялись все функции утверждения, которые вызывала транзакция, и было сложно тестировать конкретные функции утверждения.
cl.validate() не сохранил изменения состояния, вызванные транзакцией, которую он проверял. В новом интерфейсе транзакции выполняются как ожидалось, и состояние обновляется, что означает, что вы можете проверить, что изменения состояния произошли как ожидалось, и писать более полные тесты.
Наконец, теперь вы можете сопоставлять с точными причинами отката, что значительно упрощает написание тестов для конкретных крайних случаев, которые не проходят определенную проверку в функции утверждения.
Как человек, который уже написал много тестов на утверждения, я нахожу это обновление удивительным. Мне нужно писать меньше кода, и у меня больше контроля и функциональности - разработка такая, какой она должна быть. Команда Phylax на 🔥
222