Я написал модульный тест с MD 2.8.5 в проекте, который включает System.Core и цель сборки Mono / .NET 3.5.Мне очень нравится Assert.Throws нового NUnit, поэтому решил написать для него метод расширения.Я создал новый файл с таким же содержимым в том же пространстве имен, что и тест.Кто-нибудь может увидеть мою ошибку?
public delegate void TestDelegate();
public static class AssertThrows
{
public static T Throws<T>(this Assert assert, TestDelegate td)
where T : Exception
{
try
{
td();
}
catch(T e)
{
return e;
}
catch
{
throw new AssertionException("Wrong exception type.");
}
throw new AssertionException("Did not throw an error.");
}
}
MonoDevelop "видит" метод расширения через завершение кода.Тем не менее, компилятор сообщает:
Performing main compilation...
/Users/shamwow/dev/EngineTests.cs(19,37): error CS0117:
`NUnit.Framework.Assert' does not contain a definition for `Throws'
/Applications/MonoDevelop.app/Contents/MacOS/lib/monodevelop/AddIns/NUnit/nunit.framework.dll (Location of the symbol related to previous error)
Build complete -- 1 error, 0 warnings
(я знаю, что MD и Mono не одно и то же.)