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);
}
明らかに何かが欠けていますが、何ですか?
ありがとう!