Entonces alguien preguntó, como mostraste con React, con una página web, ¿alguna idea sobre bibliotecas de pruebas o formas en que podemos usar esto con React Native? ¿Has tenido alguna experiencia con esto? Sí, con React Native es más desafiante porque tienes, si usas, ¿cómo lo llamas? El simulador web. ¿Te refieres a un emulador? No es un emulador, pero como usarlo en la web. ¿Como la vista web? Sí, como tienes una capa donde puedes renderizar en el navegador, pero no es tan realista, así que tendrás que simular muchas cosas, por lo que no va a ser realista, así que no tendrás esta experiencia con VTest. Hay otras herramientas como Detox, creo, no soy un experto en React Native, pero creo que Detox funciona para eso. Justo, justo. Sé que hay mucha complejidad en algunas de estas preguntas, y recuerda que siempre puedes obtener más seguimiento después.
Esta es una pregunta general, y tal vez sea un poco una pregunta de filosofía de pruebas, que es ¿cuáles son buenas reglas generales para la velocidad y el alcance de las pruebas unitarias, verdad? Así que muchas personas tienen que decidir cuán granular vamos a ser, y me encanta lo que dijiste, hay una diferencia entre cobertura de código y, ¿era cobertura de usabilidad o de usuario? Comportamiento, sí, lo que sea. Así que cuéntanos un poco sobre cómo priorizas esa velocidad y ese alcance. Genial, ¿cuántas horas tengo? Dos minutos y 49 segundos. Bien, tengo un, ve a mi libro de cocina, aunque creo que está en la sección de Angular, hay una introducción sobre pruebas, pero es muy genérica, no es específica de Angular, y uno de los conceptos es estrecho versus amplio, y no uso unitario versus integración, porque en el momento en que dices unitario, la gente viene con muchas definiciones diferentes. Así que mi definición de una prueba estrecha es una prueba que se ejecuta en menos de 100 milisegundos, y sobre el alcance, es una prueba que está aislada fácilmente, no tienes que levantar una base de datos en Docker o lo que sea, y la tercera regla, que es la más importante en términos de alcance, es la complejidad. Cualquiera en el equipo puede depurar cualquier prueba que falle. Esto significa que puedes montar un componente con tres o cuatro tipos de hijos y tal vez llamar a algunos hooks, hooks personalizados y todo, pero si todo tiene una complejidad ciclomática de uno y es muy directo y fácil, y la prueba falla, va a ser fácil de depurar y va a ser fácil de entender. Así que esa es una de las reglas. Así que tienes que apuntar a la prueba estrecha más amplia. Entonces, ¿cuál es la prueba más grande que puedes pensar que puede ejecutarse en menos de 100 milisegundos y aún ser fácil de depurar para cualquiera en el equipo, incluidos los agentes? Porque no lo mencioné, pero por ejemplo, WallabyJS, tienen esta herramienta MCP que permite a los agentes saber instantáneamente cuál es el estado de la prueba y también preguntar sobre los valores de las variables en tiempo de ejecución, por lo que puede realmente depurar adecuadamente. Así que si proporcionas esto, podrá depurar fácilmente, pero si le das un gran alcance, todos lucharán, agentes y humanos. Me gusta mucho eso.
Comments