我运行的是TestDriven.Net版本2.23、NBehave版本0.4.0.133和nunit版本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 test runner中运行测试,我不会收到任何错误。如果我使用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,你有什么想法?
发布于 2009-10-02 01:59:18
新的语法nunit 2.5是特定的吗?Resharper 4.5 (最新版本)不支持nunit 2.5。由于许可原因,Resharper不使用nunit程序集,所以即使你有nunint2.5,Resharper也使用它自己的版本(可能是2.4.8??)。更多信息请点击此处:
http://www.jetbrains.net/devnet/thread/281286
发布于 2009-10-08 10:10:47
如果你想使用最新最好的NUnit框架并支持新的ExpectedExceptionAttribute,你应该安装Gallio框架并在resharper中使用Gallio。
Gallio充当单元测试的包装器,不需要更改任何现有的测试。但是,由于它附带了自定义的Resharper插件,您可以将Resharper和Nunit之间的依赖进一步转移到Gallio和Nunit,根据我的经验,Gallio的更新比resharper更频繁(而且是开源的,因此如果您愿意,您甚至可以轻松地使用自己的NUnit v42.1适配器)。
www.gallio.org
干杯,弗洛里安
发布于 2010-11-16 11:22:05
您可以使用一个名为Should的库来编写框架不可知断言。它还有一个非常流畅的语法,如果你喜欢流畅的界面,可以使用它。我有一篇与此相关的博客文章。
http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html
https://stackoverflow.com/questions/1507379
复制相似问题