El Editor Tests Runner es una implementación de la librería de código abierto NUnit - una librería de pruebas bien conocidas para lenguajes .Net. Más información acerca de NUnit se puede encontrar en http://www.nunit.org/. La implementación se basa en la versión 2.6.4.
Si usted es nuevo a NUnit por favor visite la guía Quick Start de NUnit para emepzar. Este articulo demuestra el proceso de desarrollo con NUnit en el contexto de una aplicación de banco C#.
Para comenzar su experiencia con las pruebas en Unity, abra la ventana Editor Test Runner. Si no hay pruebas en su proyecto, se le dará una opción para crear una prueba simple como ejemplo. También puede crear un archivo de prueba de editor desde el menú (Assets / Create / Editor Test).
El Editor Test Runner utiliza la librería NUnit para la autoría y ejecución de las pruebas. Sus pruebas del editor se deben colocar debajo de la carpeta Editor (mirar Carpetas Especiales para más información). El runner va a scan las assemblies (incluyendo las assemblies externas incluidas en el proyecto que referencia la librería nunit.framework) y genere una lista con las pruebas que fueron ubicadas.
La ventana del Editor Tests Runner integrado con el editor sobre un test runner de un IDE (como MonoDevelop o Visual Studio) es la posibilidad de invocar ciertas Unity API. Algunas Unity APIS no serán accesibles si se accede afuera del editor (e.g. instanciando GameObjects). Las pruebas son ejecutadas en el editor, en modo no de juego, todas en un frame. No es posible saltarse un frame y/o ejecutar un API que quiera saltarse frames.
El código que ejecute mediante el test runner directamente afectará su escena actualmente abierta. Por ejemplo, si usted instancia un GameObject, este persistirá en la escena. La mayoría de las veces tal comportamiento es indeseable. El corredor de prueba está integrado con el sistema de Deshacer e intentará deshacer los cambios después de la ejecución. Para que esto ocurra, debe registrar cada cambio que no se puede modificar en el sistema de Deshacer. Nota: Deshacer cambios puede tardar más tiempo en ejecutarse. Como opción, el corredor puede ejecutar pruebas en una nueva escena. Cuando se selecciona esta opción, antes de cada ejecución el corredor de pruebas abrirá una nueva escena, ejecutará pruebas y volverá a abrir la escena original. Esto puede pedirle al usuario que guarde la escena (a menos que la opción de escena Autosave esté seleccionada).
En la parte inferior de la lista de pruebas (o en el lateral, dependiendo de las preferencias), se dispone de una vista previa del resultado de la prueba. Muestra el tiempo de ejecución de la prueba, el error y la excepción que se ha lanzado durante la ejecución de la prueba y los mensajes que se han registrado.
Unas opciones adicionales están disponibles en el menú de la ventana (esquina superior derecha de la ventana):
Es posible ejecutar las pruebas del editor en modo headless (utilizando la linea de comandos). Para hacer esto, ejecute Unity con los siguientes argumentos:
Ejemplo:
Corra todos las pruebas del editor del proyecto:
>Unity.exe
-projectPath PATH_TO_YOUR_PROJECT
-runEditorTests
Run all editor tests from the project containing “Player” in the name and place the result file in C:\temp\results.xml:
>Unity.exe -runEditorTests
-projectPath PATH_TO_YOUR_PROJECT
-editorTestsResultFile C:\temp\results.xml
-editorTestsFilter Player
El editor saldrá con un código de retorno siguiente según el resultado:
En Windows, con el fin de leer el código resultante del comando ejecutado, corra lo siguiente:
start /WAIT Unity.exe ARGUMENT_LIST
Esto esperará por la ejecución del comando que termine y le permite a usted leer el código de vuelto de la variable ERRORLEVEL .