.NET を拡張しようとしていますTestClass
。次の抽象クラスを拡張する必要があることがわかりました:TestClassExtensionAttribute
とTestExtensionExecution
. TestExtensionExecution
も実装する必要がありますITestMethodInvoker
。私は次のことを行いましたが、テストメソッドを実行すると、ブレークポイントのいずれにもヒットしません (テストでも拡張でも)。つまり、テストクラスは拡張に到達せず、以前の時点で明らかに失敗します。誰かが私が欠けているものや、を拡張する方法の実例を教えてもらえます TestClass
か?
拡大:
class CoreTestClass : TestClassExtensionAttribute
{
public override Uri ExtensionId
{
get { throw new NotImplementedException(); }
}
public override TestExtensionExecution GetExecution()
{
return new TestCore();
}
}
class TestCore: TestExtensionExecution
{
public override ITestMethodInvoker CreateTestMethodInvoker(TestMethodInvokerContext context)
{
return new AnalysisTestMethodInvoker();
}
public override void Dispose()
{
}
public override void Initialize(TestExecution execution)
{
execution.OnTestStopping += execution_OnTestStopping;
}
void execution_OnTestStopping(object sender, OnTestStoppingEventArgs e)
{
throw new NotImplementedException();
}
}
class AnalysisTestMethodInvoker : ITestMethodInvoker
{
public TestMethodInvokerResult Invoke(params object[] parameters)
{
throw new NotImplementedException();
}
}
テスト:
[CoreTestClass]
public class HomeControllerTest
{
[TestMethod]
public void Index()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
// Assert
Assert.AreEqual("Modify this template to jump-start your ASP.NET MVC application.", result.ViewBag.Message);
}
}