Frage

Ich bin mit TestDriven.Net version 2.23, NBehave version 0.4.0.133 und nunit-version Einheit 2.5.0.9122.Ich habe auch die neueste version von Resharper.Hier ist ein snipet von test-code:

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

Wenn ich die Resharper test runner und laufen TestDriven.Net der test bestanden wird.Nun, wenn ich die test-syntax:

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

Wenn ich den test ausführen, in Resharper test runner, bekomme ich bestanden keine Fehler.Wenn ich mit TestDriven.Net ich bekomme:

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)

Dies ist eine neue Maschine, und ich lief nie nunit 2.4.8 Irgendwelche Gedanken?

War es hilfreich?

Lösung

Ist die neue Syntax nunit 2.5 spezifisch? ReSharper 4.5 (neueste Version) nicht unterstützt nunit 2.5. ReSharper verwendet nicht die nunit Baugruppen aus lizenzrechtlichen Gründen so, auch wenn Sie nunint 2.5 haben, ReSharper verwendet seine eigene Version (vielleicht, dass könnte die 2.4.8 ?? sein). Mehr Infos hier:

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

Andere Tipps

Wenn Sie den neuesten und größten NUnit Rahmen und unterstützen die neuen ExpectedExceptionAttribute verwenden mögen, sollten Sie den Gallio Rahmen installieren und die Gallio in ReSharper Testrunner verwenden.

Gallio fungiert als Wrapper um Ihre Unit-Tests, ohne dass alle Ihre bestehenden Tests ändern. Aber wie es Schiffe mit ihren benutzerdefinierten ReSharper Addin, verschieben Sie die Abhängigkeit zwischen ReSharper und Nunit weiter auf der ganzen Linie zu Gallio und Nunit, und aus meiner Erfahrung ist Gallio aktualisiert recht häufiger als ReSharper (und Open Source, so kann man sogar Rolle Ihr eigener NUnit v42.1-Adapter, wenn Sie wollen, mit minimalem Aufwand).

www.gallio.org

Cheers, Florian

Sie können schreiben, Rahmen Agnostiker behauptet verwenden eine Bibliothek namens Sollte.Es hat auch ein sehr schönes fluent syntax, die verwendet werden können, wenn Sie wie fluent interfaces.Ich hatte einen blog-post mit demselben.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top