TestDriven.Net ошибка nunit.framework - PullRequest
0 голосов
/ 02 октября 2009

Я использую TestDriven.Net версии 2.23, NBehave версии 0.4.0.133 и nunit версии Unit 2.5.0.9122. Я также использую последнюю версию Resharper. Вот фрагмент кода теста:

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

Если я запускаю тестовый запуск Resharper и запускаю TestDriven.Net, тест проходит успешно. Теперь, если я изменю синтаксис теста на:

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

Если я запускаю тест в Resharper, я не получаю ошибок. Если я запускаю с TestDriven.Net я получаю:

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)

Это новая машина, и я никогда не запускал nunit 2.4.8. Есть мысли?

Ответы [ 3 ]

3 голосов
/ 02 октября 2009

Специфичен ли новый синтаксис nunit 2.5? Resharper 4.5 (последняя версия) не поддерживает nunit 2.5. Resharper не использует сборки nunit по причинам лицензирования, поэтому даже если у вас nunint 2.5, Resharper использует свою собственную версию (может быть, это 2.4.8 ??) Больше информации здесь:

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

0 голосов
/ 16 ноября 2010

Вы можете написать независимые от фреймворка утверждения, используя библиотеку с именем Следует. Он также имеет очень хороший свободный синтаксис, который можно использовать, если вам нравятся свободные интерфейсы. У меня был пост в блоге, связанный с тем же.

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

0 голосов
/ 08 октября 2009

Если вы хотите использовать новейшую и лучшую платформу NUnit и поддерживать новый ExpectedExceptionAttribute, вам следует установить платформу Gallio и использовать Gallio TestRunner в качестве инструмента для повышения резкости.

Gallio действует как обертка вокруг ваших модульных тестов, нет необходимости изменять какие-либо из ваших существующих тестов. Но так как он поставляется со своим пользовательским надстройкой Resharper, вы перемещаете зависимость между Resharper и Nunit дальше по линии к Gallio и Nunit, и из моего опыта Gallio обновляется гораздо чаще, чем resharper (и с открытым исходным кодом, так что вы можете даже свернуть свой собственный адаптер NUnit v42.1, если хотите, с минимальными усилиями).

www.gallio.org

Ура, Florian

...