Testing

En esta sección puedes ver cómo escribir y ejecutar pruebas unitarias para contratos inteligentes cosmwasm.

Algunas de las mejores prácticas y consejos incluyen:

  • Probar funciones de consulta: Aprende a probar las funciones de consulta de forma efectiva llamándolas con varios parámetros y verificando los resultados. Esto garantiza que los usuarios puedan interactuar con el contrato inteligente según lo previsto.

  • Pruebe la gestión de errores y los casos extremos: Descubra cómo cubrir escenarios de manejo de errores y casos de borde en sus pruebas. Esto garantiza que el contrato inteligente se comporte correctamente en situaciones inesperadas o cuando reciba entradas inesperadas.

  • Pruebas con dependencias simuladas personalizadas: Comprenda cómo crear dependencias simuladas personalizadas para sus pruebas, simulando diferentes escenarios y condiciones que pueden surgir durante la ejecución del contrato inteligente. Esto ayuda a verificar el comportamiento del contrato en diferentes circunstancias.

Para aprender a realizar pruebas unitarias en contratos inteligentes cosmwasm, puedes echar un vistazo al siguiente tutorial:

En este punto, tu código debería estar compilado, aunque no hayas probado si funciona o no. Puedes desplegar el código en la blockchain cada vez que hagas un cambio, pero esto no es un uso eficiente de tu tiempo. También es importante mantener el contrato intacto y bien probado para futuras modificaciones.

Tiene la opción de mantener sus pruebas y código en el mismo archivo o en archivos separados. Vea un ejemplo aquí.

Para cada prueba, es importante simular variables específicas, como el tiempo de bloqueo y el estado. Escribir una función para facilitar la configuración puede hacer que este proceso sea más manejable.

Genial, ya tienes un inicializador de entorno de pruebas. Este es bastante básico; puedes pasar variables a la función y hacer varias modificaciones. Echa un vistazo a cosmwasm-plus para más opciones.

Información de dependencias, entorno y mensajes simulados

Hay tres herramientas de mocking que deberíamos mejorar:

mock_dependencies se usa para mock storage, api, y querier.

mock_env se utiliza para bloques de imitación y entornos de contrato.

mock_info se utiliza para simular entornos de transacción.

Gestor de pruebas

Gestor de transferencias de prueba

Ejecucion de test

Ahora ejecuta las pruebas:

Si todo está en verde, el código funcionará en la cadena.

Last updated