MSTest无法在子类中发现继承的TestMethod

时间:2019-01-29 14:29:56

标签: c# inheritance mstest


我正在使用Visual Studio 2015,
我的问题是,MSTest无法发现基类中已经定义的TestMethod,当我在vs中单击“运行测试”时,仅执行子类中定义的测试。

例如

[TestClass]
public class A 
{
  [TestMethod]
  public void Test1(){....}
}

[TestClass]
public class B : A
{
  [TestMethod]
  // MsTest only discover this method to execute!
  public void Test2(){....}
}

我要在B类中单击“运行测试”时同时执行这两种方法,该如何解决? 谢谢

1 个答案:

答案 0 :(得分:0)

您可以将其标记为虚拟,然后覆盖它,并在覆盖上重新提供TestMethod属性,并使方法调用通过基本实现。

[TestClass]
public class A 
{
  [TestMethod]
  public virtual void Test1(){....}
}

[TestClass]
public class B : A
{
  [TestMethod]
  public override void Test1()
  {
    base.Test1();
  }

  [TestMethod]
  public void Test2(){....}
}