在OS X上的Mono下,有一堆单元测试失败,错误如下:
System.TypeLoadException : Could not load type 'System.Func``2' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
关于所讨论的单元测试:
[Test]
public void CanAuthenticateValidUser()
{
const string testUsername = "jappleseed";
var repo = new Mock<IUserRepository>();
repo.Setup(x => x.GetByUsername(testUsername)).Returns(GetTestUser());
var authenticator = new Authenticator(repo.Object);
var result = authenticator.Authenticate(testUsername, "test");
Assert.That(result, Is.True);
}
运行Mono2.8,运行MonoDevelop2.4。
有人有什么建议可以避开这件事吗?
编辑:
应该指出这个错误来自MonoDevelop中“Unit Tests”pad中的内置“runtests”命令。
编辑2:
在控制台中运行根据jpobst建议强制运行时。我想问题已经变成了如何让MonoDevelop在特定的框架下展示运行测试了?
shimms:Debug shimms$ mono ~/Development/nunit/bin/net-2.0/nunit-console.exe Convergence.Core.Services.Tests.dll
不过,引发了相同的异常:
shimms:Debug shimms$ mono --runtime=v4.0.30319 ~/Development/nunit/bin/net-2.0/nunit-console.exe Convergence.Core.Services.Tests.dll
所有测试均通过