2010-11-12 1 views
4

Куча наших модульных тестов не удается под Mono на OS X со следующей ошибкой:Force MonoDevelop на «Run Tests» под конкретного выполнения

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:

Следует отметить, эта ошибка происходит из команды "Выполнить встроенные тесты" в "Unit Tests" площадку в MonoDevelop.

Edit 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

Все тесты проходят

ответ

6

Существует не сборка под названием "mscorelib", это "mscorlib". Это опечатка? Или сломанная ссылка?


Вторая попытка:

Вы уверены, что ваши тесты были составлены против 4,0 (РСЧА)?

Вы также можете попробовать перекрывая выполнения с:

моно --runtime = v4.0.30319 mytests.exe

+0

К сожалению - его опечатка, не может копировать/вставить из MonoDevelop - хороший пикап;) –

+0

Его библиотека, но я добавил консольное приложение и обратился к тесту, вызвал метод метода Main (...), и он прошел нормально. Возможно, «Run Tests» в MD не работает под 4.0? Я отредактирую вопрос, чтобы быть более конкретным. –

+0

Переопределение рамки при запуске NUnit с консоли работает, как ожидалось. Я обновил этот вопрос еще раз. –

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

  • Нет связанных вопросов^_^