2009-10-02 2 views
0

Я запускаю версию TestDriven.Net версии 2.23, версию NB версии 4.0.0.133 и версию nunit Unit 2.5.0.9122. Я также запускаю последнюю версию Resharper. Вот snipet тестового кода:TestDriven.Net ошибка 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); 

Если я запускаю тест бегун 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 Любые мысли?

+0

В комплекте Замечание, * пожалуйста * рассмотреть переименование '' ModifiedDt' к ModifiedDate' –

+0

Спасибо за советы. Я обновляю старое приложение, и я поражен некоторыми соглашениями об именах, которые я использовал. –

ответ

3

Является ли новый синтаксис 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

Если вы хотите использовать последнюю и самые большие рамки NUnit и поддержать новый ExpectedExceptionAttribute вы должны установить рамки Галлиона и использовать Галлион TestRunner в ReSharper.

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

www.gallio.org

Cheers, Флориан

0

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

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

Смежные вопросы