Pergunta

Estou executando testdriven.net versão 2.23, versão nbehave 0.4.0.133 e números da versão 2.5.0.9122. Também estou executando a versão mais recente do Resharper. Aqui está um snipet do código de teste:

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        Assert.AreEqual(city, address.City);

Se eu executar o RESHARPER TEST RUNNER e executar o testdriven.net, o teste passa. Agora, se eu mudar a sintaxe do teste para:

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        address.City.ShouldEqual(city);

Se eu executar o teste no RESHARPER TEST RUNNER, não passei erros. Se eu correr com testdriven.net, eu recebo:

failed: System.IO.FileLoadException : Could not load file or assembly 'nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Esta é uma nova máquina e eu nunca corri Nunit 2.4.8 Algum pensamento?

Foi útil?

Solução

A nova sintaxe Nunit 2.5 é específica? O Resharper 4.5 (mais recente ver) não suporta o NUNIT 2.5. O Resharper não usa os conjuntos de números por razões de licenciamento, portanto, mesmo se você tiver o Nunint 2.5, o Resharper está usando sua própria versão (talvez esse possa ser o 2.4.8 ??). Mais informações aqui:

http://www.jetbrains.net/devnet/thread/281286

Outras dicas

Se você deseja usar a mais recente e mais recente estrutura de Nunit e suportar o novo esperado, você deve instalar a estrutura Gallio e usar o Gallio Testrunner no Resharper.

A Gallio atua como um invólucro nos testes de unidade, não é necessário alterar nenhum dos testes existentes. Mas, ao ser enviado com seu add Addin personalizado, você muda a dependência entre o Resharper e a Funit mais adiante para Gallio e Nunit, e pela minha experiência, o Gallio é atualizado com mais frequência do que o Remarper (e o código aberto, para que você possa até rolar Seu próprio adaptador Nunit v42.1, se você quiser, com o mínimo esforço).

www.gallio.org

Saúde, Florian

Você pode escrever as afirmações agnóticas da estrutura usando uma biblioteca chamada deveria. Ele também possui uma sintaxe fluente muito agradável que pode ser usada se você gosta de interfaces fluentes. Eu tive um post de blog relacionado ao mesmo.

http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top