¿Cómo ejecutar pruebas de NUnit en Visual Studio 2017?

167

Acabo de instalar VS 2017. Tengo un proyecto usando NUnit para los casos de prueba. Ctrl+ R- Tya no ejecuta las pruebas, y el Explorador de pruebas ya no encuentra ningún caso de prueba marcado con el atributo TestCase.

¿Hay alguna manera de hacer que NUnit se ejecute todavía, o una actualización que pueda encontrar? Reinstalé NUnit desde Nuget Package Manager a la última versión sin mejoras.

jessehouwing
fuente
Eso fue todo. Necesitaba reinstalar el NUnitTestAdapter. ¿Puedes presentar eso como una solución?
2
Ya has instalado NUnit, ¿verdad? Ahora necesita instalar NUnit3TestAdapter para ejecutar las pruebas de NUnit en VS 2017.
Ripon Al Wasim
¿Por qué esto también está etiquetado 2019?
UuDdLrLrSs 01 de

Respuestas:

207

Agregue el paquete NuGet del adaptador de prueba NUnit a sus proyectos de prueba

O instale la extensión de estudio visual Test Adapter. Hay uno para

Prefiero el paquete NuGet porque estará sincronizado con la versión NUnit utilizada por su proyecto y, por lo tanto, coincidirá automáticamente con la versión utilizada en cualquier servidor de compilación.

jessehouwing
fuente
2
Perfecto !! Trabajó en la mía con VS 2017. Si instaló Test Adapter 2.0, entonces debería coincidir -> actualizar la versión del paquete Nuget NUnit 2.xx. If Test Adapter 3.0 -> actualice el paquete nuget a 3.xx Gracias @jessehouwing
Anand Gangadhara
17
También asegúrese de haber hecho referencia a Microsoft.NET.Test.Sdk , al menos si está apuntando a .NET Core. Pasé por alto que me faltaba esa referencia.
Dan Jagnow
55
Estuve atrapado con esto durante bastante tiempo, ya que ninguna de las soluciones funcionó. Luego deduje de esta línea que una biblioteca de clases con destino ".NET Standard" no funciona. El proyecto de prueba debe apuntar a .NET Core. Además, Microsoft.NET.Test.Sdkse requiere NuGet.
Arghya C
3
Vale la pena mencionar que otra buena razón para elegir el paquete NuGet del adaptador de prueba NUnit es que sus colegas no tendrán que instalar ninguna extensión VS. Y su servidor de compilación tampoco necesita ninguna instalación adicional.
Jim Aho
1
instalé ambos pero no es obvio cómo ejecutar estas pruebas. miré Ver / otras ventanas pero no puedo encontrar el explorador de prueba de monjas
Sonic Soul
37

Necesita instalar NUnitTestAdapter. La última versión de NUnit es 3.xy (3.6.1) y debe instalar NUnit3TestAdapter junto con NUnit 3.xy

Para instalar NUnit3TestAdapter en Visual Studio 2017, siga los pasos a continuación:

  1. Haga clic derecho en Proyecto -> Haga clic en "Administrar paquetes Nuget .." en el menú contextual
  2. Vaya a la pestaña Examinar y busque NUnit
  3. Seleccione NUnit3TestAdapter -> Haga clic en Instalar en el lado derecho -> Haga clic en Aceptar en la ventana emergente Vista previa ingrese la descripción de la imagen aquí
Ripon Al Wasim
fuente
Puede abrir "NuGet Package Manager" desde el menú Proyecto de VS también.
Ripon Al Wasim
26

Este me ayudó: https://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

Básicamente:

  • Agregue la biblioteca NUnit 3 en Nuget.
  • Crea la clase que quieres probar.
  • Cree una clase de prueba separada, esto debería tener [TestFixture] por encima.
  • Cree una función en la clase de prueba, esta debería tener [Prueba] encima.
  • Luego vaya a PRUEBA / VENTANA / EXPLORADOR DE PRUEBA (en la parte superior).
  • Haga clic en ejecutar en el lado izquierdo, le dirá qué ha pasado y qué ha fallado.

Mi código de ejemplo está aquí:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace NUnitTesting
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public class Maths
    {
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;   
        }
    }

    [TestFixture]
    public class TestLogging
    {
     [Test]
     public void Add()
        {
            Maths add = new Maths();
            int expectedResult = add.Add(1, 2);
            Assert.That(expectedResult, Is.EqualTo(3));
        }
    }
}

Esto devolverá verdadero, si cambia el parámetro en Is.EqualTo fallará, etc.

Sotavento
fuente
no se encuentra nada cuando hago test / windows / test explorer
ctrl-alt-delor
Ctrl-alt-delor esto es Test / TestExplorer en Visual Studio 2019, este puede haber sido un cambio sutil que Microsoft realizó recientemente.
Lee
11

Necesita instalar 3 paquetes NuGet:

  • Nunit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

Diviértete escribiendo pruebas unitarias!

David Liang
fuente
8
  • Debe elegir la arquitectura del procesador de Unit-Tests en VS:
    Test > Test Settings > Default processor architecture

  • Test Adapter tiene que estar abierto para ver las pruebas: (VisualStudio, por ejemplo:
    Test->Windows->Test Explorer


Puede encontrar información adicional sobre lo que está sucediendo en 'VS-Output-Window' y elegir desplegable 'Mostrar salida de' y configurar 'Pruebas'

MichiBack
fuente
Es una respuesta muy importante, gracias, establezca el problema fijo "Arquitectura de procesador predeterminada" correcta.
Nikita Danilov
1

Usar la CLI para crear un proyecto NUnit que funcione es realmente fácil. La plantilla hace todo por ti.

dotnet new -i NUnit3.DotNetNew.Template
dotnet new nunit

En .NET Core, esta es definitivamente mi forma preferida de hacerlo.

Dejan
fuente
0

Para ejecutar o depurar la prueba en Visual Studio 2017, necesitamos instalar "NUnit3TestAdapter". Podemos instalarlo en cualquier VS, pero funciona correctamente en la versión VS "comunidad". Para instalar esto, puede agregarlo a través del paquete Nuget.

Parmeshwar Karale
fuente
0

Para cualquiera que tenga problemas con Visual Studio 2019:

Primero tuve que abrir Test> Windows> Test Explorer, y ejecutar las pruebas desde allí, antes de que la opción Ejecutar / Depurar pruebas apareciera en el menú del botón derecho.

Garrison Becker
fuente