Rodando NUnit nativamente no Visual Studio Dev11

A essa altura todo mundo já sabe que a Microsoft abraçou a ideia de rodar outros frameworks de testes diretamente de dentro do Visual Studio. Isso se concretizou com o Visual Studio vNext, ainda sem nome mas chamado de Dev11.
Ao criar um projeto de testes no Dev11, o que vem por padrão é o MSTest, framework da Microsoft. Para rodar o popular NUnit, você tem que seguir poucos passos:

Acrescentar o NUnit test adapter no Visual Studio via Extension Gallery:

Extension Manager

Instalar o NUnit via Nuget:

Nuget com NUnit

Opcionalmente remover a referência ao Assembly do MSTest, Microsoft.VisualStudio.QualityTools.UnitTestFramework.

Substituir os atributos do MSTest pelos do NUnit (de TestClass para TestFixture e de TestMethod para Test). Um find and replace all resolve isso rápido. Os asserts devem continuar funcionando, já que a maioria é igual nos dois frameworks, com pequenas diferenças. A classe padrão fica assim:

1
2
3
4
5
6
7
8
9
10
11
12
using NUnit.Framework;
namespace UnitTestProject1
{
    [TestFixture]
    public class UnitTest1
    {
        [Test]
        public void TestMethod1()
        {
        }
    }
}

Um teste simples de soma, seria assim:

1
2
3
4
5
[Test]
public void Soma()
{
    Assert.AreEqual(3, 2 + 1);
}

E rodar pelas vias normais (atalho de teclado, menu ou botão). O resultado aparece diretamente dentro do Visual Studio:

Unit Test Explorer com testes do NUnit

Outra coisa interessante é que essa nova janela, Unit Test Explorer, é não invasiva. Depois de rodar os testes ela aparece, mostra os resultados, e logo volta pra posição em colapso, não obstruindo seu trabalho. Os testes parecem estar rodando mais rápido também.

Tudo muito bom. É uma grande evolução com relação a versão anterior, por diversos motivos.

Fonte: http://blog.lambda3.com.br/

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s