不重复:Inherited test class from generic base is ignored in MSTest
在我的例子中,测试类位于相同的命名空间/程序集中。
当单元测试有很多共同点的类时,我想使用带有泛型参数的基本测试类。我把问题归结为以下问题,我的基本测试方法没有被执行,但只是在通用情况下。
非泛型:基本测试方法已执行:
[TestClass]
public class DerivedTestClass : BaseUnitTest
{
protected override string ReturnMeSomething(object obj)
{
return "test1" + obj.ToString();
}
[TestMethod]
public void derived_test()
{
// This is executed
}
}
[TestClass]
public abstract class BaseUnitTest
{
[TestMethod]
public void base_test()
{
// This is executed
}
protected abstract string ReturnMeSomething(object obj);
}
Generic:通用基类中的基本测试方法是 NOT EXECUTED :
[TestClass]
public class DerivedTestClass : BaseUnitTest<string>
{
protected override string ReturnMeSomething(string s)
{
return "test1" + s;
}
[TestMethod]
public void derived_test()
{
// This is executed
}
}
[TestClass]
public abstract class BaseUnitTest<T>
{
[TestMethod]
public void base_test()
{
// This is NOT executed
}
protected abstract string ReturnMeSomething(T t);
}
有谁可以告诉我这个的原因?
答案 0 :(得分:0)
几天后,这突然起作用(!!)。如果有人经历过同样的奇怪行为,请在这里写评论。我建议任何人重新启动并清理+重建所有内容并重试。