Ms Unit Test Framework的TestInitialize中的覆盖方法不起作用

时间:2017-11-28 22:05:40

标签: c# unit-testing

我有一个实现我的基类的子类,基类有一个[TestClass]装饰器。我想从基类中调用子类中的Setup方法,但是在调试时,执行不会使它进入子类,我不知道为什么。这就是我所拥有的:

 public class Child : BaseTestClass
 {
      public override void Setup()
      {
       // A lot of setup code
      }

 }

然后在孩子班上我有这个:

{{1}}

永远不会调用覆盖的Setup()方法。我究竟做错了什么?感谢

1 个答案:

答案 0 :(得分:0)

@KeithNicholas你的回复让我想起了我在做什么,我想我是以错误的方式解决这个问题。我改变它是这样的:

 [TestClass]
 public class Child : Base
 {

 // All tests go here
 [TestMethod]
 public void TestSomething()
 { }



 public class Base
 {
   // declare variables

  [TestInitialize]
  public void Setup()
  {
    // Create test records
  }

  [TestCleanup]
  public void Teardown()
  {
    // Delete test records
  }

我不知道哪种方式更好,但即使只将[TestInitialize]装饰器放在该方法上,我仍然无法执行进入覆盖的Setup()方法。