Un hilo interesante sobre el testeo de videojuegos con Unity y con algunos consejos para testear tu juego de Unity por @Watanoge
Hilo Original Consejos para testear tu juego de Unity
Hilo Editado Consejos para testear tu juego de Unity
Abro hilito sobre #UnitTesting en #Unity: Acabo de meter unit testing al componente universal de mi proyecto. Pruebas en las que ocupaba jugar 4 veces los niveles de los (por ahora 11) minijuegos, ahora se hace solito en 1.5 segundos Unit Testing 101:
El setup inicial es complicado si la estructura del proyecto no linear y más aún si nunca has tocado las Assembly Definitions. Me costó lograrlo ya que tenía 0 experiencia en eso, pero un par de referencias por aquí y listo Assembly Definitions 101:
Una vez configurado el TestRunner de unity y todas las referencias a los assemblies listas (tanto internas como las de la carpeta de pruebas), ya podemos comenzar!
Yo tengo un script con una función que lo único que hace es imprimir un string en un componente de texto. Simple, pero para poder probarlo ocuparía entrar a un juego y hacer que en algún momento se ejecute la función
Tomando este ejemplo, en el script de pruebas hago referencias al prefab con ese script en el [SetUp] para que pueda ser utilizado en cualquier parte de la prueba. (ya que esto se inicia antes de cada prueba y evita que tenga que poner esto al inicio de cada una)
Después lo único que se ocupa hacer es invocar la función que gustes probar y poner las pruebas que garanticen que todo funcione correctamente. En éste caso invoco la función SetPoints y verifico que el componente de texto si esté imprimiendo correctamente.
Y de igual manera se aplica para cualquier parte en el código, cada uno con los requisitos necesarios para verificar que jale bien. CorrectLifeDisplay verificando que los sprites en las vidas sean los correspondientes y CorrectTimeDisplay verificando que el timer se imprima bien
Y esa es la historia de como 20~ minutos de tests verificando que el componente jale bien se convirtieron en 1.5 segundos y automatizados. Pero que pasa si el test no funciona? Pues marca error! Te señala tanto el error (esperado vs recibido) junto con la linea donde sucede
Y pues nada! Eso es mi conocimiento adquirido y emoción de los últimos días. Y ara quien guste investigar un poco mas a fondo:
Inglés:
Español:
(cortesía de @SantiHisteria ) #MadeWithUnity #IndieDev #DevTips
Cierro hilo c:
Toda la verdad sobre trabajar en videojuegos – Para más hilos de twitter, mira el archivo