2009-10-02 8 views
0

Je cours TestDriven.Net version 2.23, NBehave version 0.4.0.133, et version nunit Unité 2.5.0.9122. Je cours également la dernière version de Resharper. Voici un snipet de code de test:TestDriven.Net erreur nunit.framework

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

Si je lance le coureur de test ReSharper et exécuter TestDriven.Net, le test passe. Maintenant, si je change la syntaxe de test:

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

Si je lance le test en coureur de test ReSharper, je suis passé aucune erreur. Si je cours avec TestDriven.Net je reçois:

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) 

Ceci est une nouvelle machine et je ne ai jamais couru nunit 2.4.8 Toute pensée?

+0

En tant que sidenote complet, * * S'il vous plaît envisager de renommer '' ModifiedDt' à ModifiedDate' –

+0

Merci pour les conseils. Je suis en train de mettre à jour une ancienne application et je suis étonné de certaines conventions de nommage que j'ai utilisées. –

Répondre

3

La nouvelle syntaxe nunit 2.5 est-elle spécifique? Resharper 4.5 (dernier ver) ne supporte pas nunit 2.5. Resharper n'utilise pas les assemblys nunit pour des raisons de licence, même si vous avez nunint 2.5, Resharper utilise sa propre version (peut-être que cela pourrait être le 2.4.8 ??). Plus d'infos ici:

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

0

Si vous souhaitez utiliser le dernier et le plus grand cadre NUnit et de soutenir la nouvelle ExpectedExceptionAttribute vous devez installer le cadre Gallio et utiliser le Gallio TestRunner dans ReSharper. Gallio agit comme une enveloppe autour de vos tests unitaires, pas besoin de changer vos tests existants. Mais comme il est livré avec son addon Resharper personnalisé, vous déplacez la dépendance entre Resharper et Nunit plus loin sur la ligne vers Gallio et Nunit, et d'après mon expérience, Gallio est mis à jour plus souvent que resharper (et open source, donc vous pouvez même rouler votre propre adaptateur NUnit v42.1 si vous le souhaitez, avec un minimum d'effort).

www.gallio.org

Cheers, Florian