Куча наших модульных тестов не выполняется под Mono на OS X со следующей ошибкой:
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);
}
Запуск с Mono 2.8, с MonoDevelop 2.4.
Кто-нибудь получил какие-либо предложения, чтобы обойти это?
Edit:
Следует указать, что эта ошибка возникает из-за встроенной команды «Run Tests» на панели «Unit Tests» в MonoDevelop.
Редактировать 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
Все тесты пройдены