MSTest 无法在子项中发现继承的 TestMethod Class
MSTest can't discover inherited TestMethod in a child Class
我正在使用 Visual Studio 2015,
我的问题是 MSTest 无法发现已经在 base class 中定义的 TestMethods,当我在 vs 中单击 "Run Tests" 时,只会执行在 child class 中定义的测试。
举例
[TestClass]
public class A
{
[TestMethod]
public void Test1(){....}
}
[TestClass]
public class B : A
{
[TestMethod]
// MsTest only discover this method to execute!
public void Test2(){....}
}
当我在 class 中单击 "Run Tests" 时,我希望这两种方法都被执行 B,如何解决这个问题?
谢谢
您可以将其标记为虚拟,然后覆盖它并在覆盖上重新提供 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(){....}
}
我正在使用 Visual Studio 2015,
我的问题是 MSTest 无法发现已经在 base class 中定义的 TestMethods,当我在 vs 中单击 "Run Tests" 时,只会执行在 child class 中定义的测试。
举例
[TestClass]
public class A
{
[TestMethod]
public void Test1(){....}
}
[TestClass]
public class B : A
{
[TestMethod]
// MsTest only discover this method to execute!
public void Test2(){....}
}
当我在 class 中单击 "Run Tests" 时,我希望这两种方法都被执行 B,如何解决这个问题? 谢谢
您可以将其标记为虚拟,然后覆盖它并在覆盖上重新提供 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(){....}
}