unit testing - test - ¿Cómo ejecutar pruebas de pruebas unitarias desde la línea de comandos?
unit test android studio (4)
Actualmente puedo tener algunas respuestas para mis necesidades:
Una prueba específica (es decir, una prueba escrita por un método marcado
[TestMethod()]
)
UseMSTest.exe
/container:
TheAssemblyContainingYourSpecificTest/test:
TheSpecificTestNameTodas las pruebas en una clase
UseMSTest.exe
/container:
TheAssemblyContainingYourClass/test:
TheClassNameWithFullNamespace
Tenga en cuenta que/test:
es el filtro que usa el nombre completo de la clase cuando se filtra.
Los otros aún se desconocen. Discuta si sabe cómo.
Busqué en Google y encontré las siguientes referencias útiles. Actualmente quiero ejecutar todo desde la línea de comandos (para facilitar la ejecución y la rapidez) en los casos:
- Una prueba específica (es decir, una prueba escrita por un método marcado [TestMethod ()])
- Todas las pruebas en una clase
- Todas las pruebas impactadas del TFS actual están pendientes de cambio de mina.
- Todas las pruebas
- Todas las pruebas, excepto las marcadas como categoría [Categoría de prueba ("alguna categoría")]
No estoy seguro de cómo puedo escribir un comando correcto para mis necesidades anteriores.
Referencias
- el MSTest.exe http://msdn.microsoft.com/en-us/library/ms182487.aspx
- las opciones detalladas de MSTest.exe http://msdn.microsoft.com/en-us/library/ms182489.aspx
- obteniendo el resultado http://msdn.microsoft.com/en-us/library/ms182488.aspx
[Editar]
Después de un tiempo, encontré los consejos útiles a continuación.
- ejecutar pruebas de unidad de Visual Studio utilizando MSTest.exe, que se encuentra en
%ProgramFiles%/Microsoft Visual Studio 10.0/Common7/IDE/MSTest.exe
en mi caso. - utilizando
/testcontainer:Path/To/Your/TestProjectAssembly.dll
para indicar dónde se codifican las pruebas. Puede especificar múltiples opciones ''/ testcontainer'' si es necesario. - using
/test:TestFilter
para filtrar las pruebas para ejecutar. Tenga en cuenta que este filtro se aplica al nombre completo del método de prueba (es decir, FullNamespace.Classname.MethodName)
Para el número 4. Para ejecutar todas las pruebas en un ensamblaje, es simplemente:
mstest /testcontainer:YourCompiledTestAssembly.dll
Para la pregunta
5 Todas las pruebas excepto las marcadas como categoría [TestCategory ("some-category")]
Utilizar
mstest.exe /testcontainer:yourTests.dll /category:"!some-category"
Si necesita excluir más de una categoría, use
mstest.exe /testcontainer:yourTests.dll /category:"!group1&!group2"
Referencia: / filtro de categoría
Puede que le interese el paquete de Gallio . Proporciona una plataforma de automatización común gratuita para ejecutar sus pruebas (MSTest, MbUnit, NUnit, xUnit, etc.) con varios corredores de prueba (GUI, línea de comandos, PoSh, complementos para herramientas de terceros, etc.)
En particular, es posible que desee utilizar Gallio.Echo que es un buen corredor de prueba de línea de comandos:
Los corredores de prueba Gallio también tienen capacidades de filtrado para ejecutar un subconjunto de las pruebas de su unidad solamente (por ejemplo, por categoría, por accesorio, etc.)