Pruebas unitarias de Visual Studio: configuración y descarga

90

En lugar de [SetUp] y [TearDown] en Nunit, ¿cuál es la alternativa en Visual Studio Ultimate 2010 Unit Testing? En Nunit puedes imaginar que los métodos de instalación y desmontaje son como constructores y destructores para las pruebas en nuestra clase.

Etibar Hasanov
fuente

Respuestas:

143

Un método anotado con [TestInitialize]se ejecuta antes de cada prueba. Lo mismo ocurre [TestCleanup]después de cada prueba.

[ClassInitialize]y [ClassCleanup]se ejecutan antes y después del 'conjunto' de pruebas dentro de TestClass.

Mikeb
fuente
6
Podría haber agregado que el método ClassInitialize toma un TestContext como argumento.
sobre el
4
Y también debería ser público estático
Shalom Aleichem
4

Visual Studio usará MSTest, que es el marco de pruebas unitarias de Microsoft, es similar a NUnit. De hecho, la mayoría de ellos son similares en conceptos pero diferente sintaxis.

Para ver la comparación, los creadores de xUnit (otro marco de prueba de unidades) tienen una lista aquí:

http://xunit.github.io/docs/comparisons.html

Más específicamente, lo que solicitó, TestInitializees el equivalente de MSTest a NUnit Setup, y lo mismo para TestCleanupy TearDown.

Una cosa a tener en cuenta, me quedaría con NUnit si está intentando realizar pruebas unitarias automatizadas o algún tipo de integración continua. La razón principal por la *unitque se prefieren los diversos marcos sobre MSTest es porque debe tener una copia de Visual Studio en la máquina en la que está ejecutando las pruebas. Bien para su propia máquina local, historia diferente para un servidor CI. Visual Studio es un programa muy complicado, e instalarlo en un servidor (que generalmente se supone que es tan ligero y rápido como puede ser), solo para ejecutar pruebas es un poco molesto.

Arran
fuente
7
Simplemente puede instalar TFS Team Test Agent (y no configurarlo) en un servidor de CI para instalar los corredores de prueba ( microsoft.com/en-us/download/details.aspx?id=1334 ). No es necesario realizar una instalación completa de Visual Studio, a menos que desee pruebas genéricas, ordenadas, CodedUI o de rendimiento.
jessehouwing
1
Team Build 2012 instala soporte para diferentes ejecutores de prueba listos para usar sin la necesidad de instalar Visual Studio en su servidor de compilación.
jessehouwing