在调试代码时,VS2010中的集成是否异步测试(使用C#代码)?

时间:2012-10-10 12:08:26

标签: c# asp.net-mvc-3 testing integration-testing

我遇到了有关集成测试的以下问题。

代码(使用其他一些函数很简单)。我已将断点放在AddItem函数上。

[TestInitialize]
      public void MyTestInitialize() {
         Assert.IsTrue( AddItem() );
      }

 [TestCleanup]
      public void MyTestCleanup() {
         Assert.IsTrue( RemoveItem() );
      }

[TestMethod]
public void ListTest(){
   AClass test = new AClass();
   Assert.IsTrue(test.List().Count > 0);
}

private bool AddItem() {
  AClass obj = new AClass();

  Assert.IsTrue(obj.Add("test", "123")); //no duplicate will be allowed ! (return false if duplicate found)

  obj.Files = ConstructFiles();
  ...
  ...
}

private string[] ConstructFiles(){
  return Directory.GetFiles(@"/folder/files", "*.doc"); 
    //when execute the above code then the breakpoint from `AddItem` is reached !!!
}

测试ListTest时会自动调用AddItem(由于TestInitialize属性)。

第一次调用没问题,但是当这个函数(AddItem)调用另一个函数ConstructFiles时,会到达AddItem的断点并再次执行该函数。

为什么?

当然,我使用TestMethod属性进行了其他测试,但在第一次调用AddItem并调用ConstructFiles时,有些内容不明确。

0 个答案:

没有答案