C#单元测试代码问题

时间:2010-04-26 14:06:14

标签: 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

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

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

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

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

不,方法的名称无关紧要。将它们命名为您想要的任它是方法之上的属性,告诉测试运行时方法的用途。