Como executar testes do NUnit no Visual Studio 2017?

167

Acabei de instalar o VS 2017. Tenho um projeto usando o NUnit para os casos de teste. Ctrl+ R- Tnão executa mais os testes e o Explorador de Testes não encontra mais nenhum caso de teste marcado com o atributo TestCase.

Existe uma maneira de executar o NUnit ainda ou uma atualização que eu possa encontrar? Reinstalei o NUnit do Nuget Package Manager para a versão mais recente, sem melhorias.

jessehouwing
fonte
Foi isso. Eu precisava reinstalar o NUnitTestAdapter. Você pode enviar isso como uma solução?
2
Você já instalou o NUnit, certo? Agora você precisa instalar NUnit3TestAdapter para executar testes NUnit no VS 2017.
Ripon Al Wasim
Por que isso também está marcado em 2019?
UuDdLrLrSs 01/07/19

Respostas:

207

Adicione o pacote NuGet do adaptador de teste NUnit aos seus projetos de teste

Ou instale a extensão do visual studio do Adaptador de Teste. Existe um para

Prefiro o pacote NuGet porque ele estará sincronizado com a versão do NUnit usada pelo seu projeto e, portanto, corresponderá automaticamente à versão usada em qualquer servidor de compilação.

jessehouwing
fonte
2
Perfecto !! Funcionou no meu com o VS 2017. Se o Test Adapter 2.0 instalado estiver instalado, deverá corresponder a -> atualizar a versão do pacote Nuget 2.Unxx. Se o Teste Adapter 3.0 -> atualização do pacote NuGet para 3.xx Obrigado @jessehouwing
Anand Gangadhara
17
Verifique também se você referenciou o Microsoft.NET.Test.Sdk , pelo menos se estiver direcionando o .NET Core. Eu esqueci que estava faltando essa referência.
Dan Jagnow
5
Fiquei preso a isso por algum tempo, pois nenhuma das soluções funcionou. Então, descobri nessa linha que uma biblioteca de classes com o destino ".NET Standard" não funciona. O projeto de teste deve ser direcionado ao .NET Core. Além disso, Microsoft.NET.Test.Sdké necessário o NuGet.
Arghya C
3
Vale ressaltar que outro bom motivo para escolher o pacote NuGet do adaptador de teste NUnit é que seus colegas não terão que instalar nenhuma extensão do VS. E seu servidor de compilação também não precisa de parcelas extras.
Jim Aho
1
Eu instalei os dois, mas não é óbvio como executar esses testes. olhou para o View / outras janelas, mas não consegue encontrar o nunit test explorer #
Sonic Soul
37

Você precisa instalar o NUnitTestAdapter. A versão mais recente do NUnit é 3.xy (3.6.1) e você deve instalar o NUnit3TestAdapter junto com o NUnit 3.xy

Para instalar o NUnit3TestAdapter no Visual Studio 2017, siga as etapas abaixo:

  1. Clique com o botão direito do mouse em Projeto -> Clique em "Gerenciar pacotes Nuget .." no menu de contexto
  2. Vá para a guia Navegar e pesquise NUnit
  3. Selecione NUnit3TestAdapter -> clique em Instalar no lado direito -> clique em OK na visualização. insira a descrição da imagem aqui
Ripon Al Wasim
fonte
Você também pode abrir o "NuGet Package Manager" no menu Projeto do VS.
Ripon Al Wasim
26

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

Basicamente:

  • Adicione a biblioteca do NUnit 3 no Nuget.
  • Crie a classe que você deseja testar.
  • Crie uma classe de teste separada, isso deve ter [TestFixture] acima dela.
  • Crie uma função na classe Testing, isso deve ter [Test] acima dela.
  • Em seguida, vá para TEST / WINDOW / TEST EXPLORER (na parte superior).
  • Clique em executar para o lado esquerdo, ele informará o que passou e o que falhou.

Meu código de exemplo está aqui:

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));
        }
    }
}

Isso retornará true, se você alterar o parâmetro em Is.EqualTo, ele falhará etc.

Lee
fonte
nada é encontrado quando eu faço test / windows / explorador teste
ctrl-alt-Delor
Ctrl-alt-delor, este é o Test / TestExplorer no Visual Studio 2019, pode ter sido uma alteração sutil que a Microsoft fez recentemente.
Lee
11

Você precisa instalar 3 pacotes NuGet:

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

Divirta-se escrevendo testes de unidade!

David Liang
fonte
8
  • Você precisa escolher a arquitetura do processador de testes de unidade no VS:
    Test > Test Settings > Default processor architecture

  • O Adaptador de teste deve estar aberto para ver os testes: (VisualStudio, por exemplo:
    Test->Windows->Test Explorer


Informações adicionais sobre o que está acontecendo, você pode considerar em 'VS-Output-Window' e escolher Drop-Down 'Show output from' e definir 'Tests'

MichiBack
fonte
É uma resposta muito importante, muito obrigado, defina o problema corrigido "Arquitetura do processador padrão" correto.
Nikita Danilov
1

Usar a CLI para criar um projeto NUnit em funcionamento é realmente fácil. O modelo faz tudo por você.

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

No .NET Core, esse é definitivamente o meu caminho preferido.

Dejan
fonte
0

Para executar ou depurar o teste no visual Studio 2017, precisamos instalar o "NUnit3TestAdapter". Podemos instalá-lo em qualquer VS, mas está funcionando corretamente na versão "community" do VS. Para instalar isso, você pode adicionar o Nuget Package.

Parmeshwar Karale
fonte
0

Para qualquer pessoa que tenha problemas com o Visual Studio 2019:

Eu tive que abrir primeiro Test> Windows> Test Explorer e executar os testes a partir daí, antes que a opção Executar / Depurar testes fosse exibida no menu do botão direito.

Garrison Becker
fonte