Os desenvolvedores ouviram <3 Eu reclamei durante bastante tempo que escrever testes para as asserções da @phylaxsystems tinha uma experiência de desenvolvimento realmente ruim. O feedback externo confirmou isso, e corrigir a experiência de desenvolvimento foi priorizado. A correção é uma interface de teste mais simples e poderosa!
Em vez de primeiro configurar uma afirmação com um rótulo confuso e abi.encode e depois usar o complicado cl.validate para elaborar a tx para executar a afirmação, agora temos um simples cheatcode que configura a afirmação para ser executada na próxima tx.
Apenas uma função de afirmação é executada contra uma transação. Antes, todas as funções de afirmação que uma tx acionava eram executadas e era difícil testar funções de afirmação específicas.
cl.validate() não persistiu as alterações de estado causadas pela tx que validou. Na nova interface, as txs são executadas como esperado e o estado é atualizado, o que significa que você pode verificar que as alterações de estado ocorreram como esperado e escrever testes mais completos.
Por fim, agora pode corresponder a razões de reversão exatas, o que torna muito mais fácil escrever testes para casos limite específicos que falham uma verificação particular na função de asserção.
Como alguém que já escreveu muitos testes de afirmação até agora, acho esta atualização incrível. Tenho que escrever menos código e tenho mais controle e funcionalidade - devex como deveria ser. A equipe Phylax está em chamas 🔥
230