C#单元测试代码问题

5Yr*_*DBA 3 c# unit-testing

我们开始使用C#内置单元测试功能.我有VisualStudio 2008为我创建的单元测试代码.我在生成的代码上面几乎没有问题.以下是我从生成的文件中复制的代码:

  #region Additional test attributes
  // 
  //You can use the following additional attributes as you write your tests:
  //
  //Use ClassInitialize to run code before running the first test in the class
  //[ClassInitialize()]
  //public static void MyClassInitialize(TestContext testContext)
  //{
  //}
  //
  //Use ClassCleanup to run code after all tests in a class have run
  //[ClassCleanup()]
  //public static void MyClassCleanup()
  //{
  //}
  //
  //Use TestInitialize to run code before running each test
  //[TestInitialize()]
  //public void MyTestInitialize()
  //{
  //}
  //
  //Use TestCleanup to run code after each test has run
  //[TestCleanup()]
  //public void MyTestCleanup()
  //{
  //}
  //
  #endregion
Run Code Online (Sandbox Code Playgroud)

如果我需要初始化和清理方法,我启用它们时是否需要从方法名称中删除那些"我的"?

  //Use ClassInitialize to run code before running the first test in the class
  //[ClassInitialize()]
  //public static void MyClassInitialize(TestContext testContext)
  //{
  //}
Run Code Online (Sandbox Code Playgroud)

"MyClassInitialize"在运行第一个测试之前,我是否需要在某处调用该方法,否则在调用其他方法之前会自动调用它.

其他三种方法的类似问题是否会在正确的时间框架内自动调用?

tva*_*son 6

这些方法由测试框架自动调用.我相信你可以重命名它们,因为它使用属性来识别在适当的时候调用的正确方法.请记住取消注释属性以及方法本身,否则测试框架将无法找到方法并调用它.