我正在使用 Visual Studio 2010 Beta 2。我有一个[TestClass],它有一个[TestInitialize],[TestCleanup]和几个[TestMethods]。
[TestClass]
[TestInitialize]
[TestCleanup]
[TestMethods]
每次运行测试方法时,初始化和清理方法也会运行!
我的印象是[TestInitialize]&[TestCleanup]应该只运行一次,每次本地测试运行。
那是对的吗?如果不是,那么正确的方法是什么?
TestInitialize并且TestCleanup在每个测试之前和之后运行,这是为了确保没有测试耦合。
TestInitialize
TestCleanup
如果您想在所有测试之前和之后运行方法,请使用ClassInitialize和ClassCleanup属性装饰相关方法。
ClassInitialize
ClassCleanup
Visual Studio 中自动生成的测试文件的相关信息:
您可以在编写测试时使用以下附加属性:
// 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() { }