Pregunta

Me han dicho que las pruebas generadas automáticamente en VS2008 pueden hacerse compatibles con NUnit simplemente agregando

#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
#else
  using NUnit.Framework;
  using TestClass = NUnit.Framework.TestFixtureAttribute;
  using TestMethod = NUnit.Framework.TestAttribute;
  using TestInitialize = NUnit.Framework.SetUpAttribute;
  using TestCleanup = NUnit.Framework.TearDownAttribute;
  using TestContext = System.String;
  using DeploymentItem = NUnit.Framework.DescriptionAttribute;
#endif

EDITAR: La pregunta cambió ligeramente el enfoque ya que solucioné el problema de referencia. Nuevamente, me dijeron que esta declaración funcionaría para cambiar al programa de prueba de unidad correcto, VS o NUnit.

Nunca entra en la sentencia else. Entonces, la nueva pregunta es: ¿necesito cambiar el condicional a otra cosa, o me estoy perdiendo algo simple otra vez?

¿Fue útil?

Solución 3

Bueno, descubrí qué hacer después de pasar por alto el simple error que Richard me señaló.

Ya que estoy ejecutando estos en CC.NET, simplemente tomé la salida fácil para la variable y configuré una variable de Windows en cmd y luego ejecuté la DLL con nunit-console.exe.

Si realmente no te importa poder alternar entre los programas de prueba de VS2008 y NUnit, simplemente puedes eliminar el código de precompilación, dejando el contenido de if para VS y el contenido de else para NUnit.

Otros consejos

¿Ha hecho referencia al ensamblaje NUnit en lugar del ensamblaje de prueba de VS?

¿Está intentando convertir sus pruebas o ejecutar las pruebas NUnit y VS en el mismo proyecto? Si está convirtiendo, debería poder usar find & amp; Reemplazar para realizar la mayoría de los cambios.

Pasé por una conversión de pruebas de VS a NUnit y encontré una diferencia de sintaxis: el orden de los argumentos es diferente para el método IsInstanceOfType.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top