Использование NUnit EventListeners Addin с ReSharper 7

Я определил Addin для NUnit (2.6.0) так

namespace company.Testing.Attributes
{
    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
    public class ThenWithSetupAttribute : TestAttribute
    {}
}

namespace company.Testing
{
    [NUnitAddin(Description = "ThenWithSetup", Name = "ThenWithSetup")]
    public class ThenWithSetup : IAddin, EventListener
    {    
        public void RunStarted(string name, int testCount)
        {}

        public void RunFinished(TestResult result)
        {}

        public void RunFinished(Exception exception)
        {}

        public void TestStarted(TestName testName)
        {
            throw new Exception("Hello");
        }

        public void TestFinished(TestResult result)
        {
            throw new Exception("I said hello!");
        }

        public void SuiteStarted(TestName testName)
        {}

        public void SuiteFinished(TestResult result)
        {}

        public void UnhandledException(Exception exception)
        {}

        public void TestOutput(TestOutput testOutput)
        {}

        public bool Install(IExtensionHost host)
        {
            IExtensionPoint listeners = host.GetExtensionPoint("EventListeners");

            if (listeners == null)
                return false;

            listeners.Install(this);
            return true;
        }
    }
}

Используя Visual Studio 2010 и ReSharper 7, у меня сложилось впечатление, что, когда я также установил ReSharper -> Параметры -> Nunit -> Загрузить надстройки NUnit -> Всегда И поместил company.Testing.dll в..\ReSharper\v7.0\Bin\addins, эти списки событий будут срабатывать (в этом случае выдается исключение). Однако это не тот случай, тест успешно запускается, когда он должен завершиться неудачей в TestStarted-eventlistener!?!

Мой тест, определенный в другом решении (со ссылкой на выше.dll):

[ThenWithSetup]
public void ShouldGetOkResponse()
{
    Console.WriteLine("testing 123");
    Assert.AreEqual(HttpStatusCode.OK, _result.StatusCode);
}

Я что-то упустил, очевидно, но что?

Спасибо!

1 ответ

Может быть ваша dll с тестами содержит пакеты nunit для надстроек? Для меня этот случай не работает. После удаления пакетов началась вся работа.

посмотрите мой ответ здесь: /questions/39783720/nunit-addins-s-resharper-5/39783728#39783728

Другие вопросы по тегам