1

如果我有:

[TestFixture]
public class BaseTestFixture
{
  [TestFixtureSetup]
  public void SetUpStuff()
  {

  }
}

[TestFixture]
public class DeriveTestFixture : BaseTextFixture
{
   [TestFixtureSetup]
   public void SetupOtherStuff()
   {
   } 
}

BaseTextFixture TestFixtureSetup 方法是在 DerivedTestFixture TestFixtureSetUp 方法之前还是之后调用的?

4

1 回答 1

1

为什么不通过测试向自己证明呢?

    [TestFixture]
    public class BaseTestFixture
    {
      [TestFixtureSetup]
      public void SetUpStuff()
      {
         Console.Writeline("Base");
      }
    }

    [TestFixture]
    public class DeriveTestFixture : BaseTextFixture
    {
       [TestFixtureSetup]
       public void SetupOtherStuff()
       {
         Console.Writeline("Derived");
       } 
    }

也就是说,您可能会考虑仅在基础上具有属性并具有其他两个要覆盖的函数,例如 OnAfterTestFixtureSetup() ,因此它更加明确。那是,

[TestFixture]
    public class BaseTextFixture
    {
      [TestFixtureSetup]
      public void SetUpStuff()
      {
         Console.Writeline("Base");
        OnAfterTextFixtureSetup();
      }

      public virtual OnAfterTextFixtureSetup()
      {

      }
}
于 2012-04-18T15:36:43.070 回答