我在一个 TestFixture 中有几个 TestCase。我还有一个 TestFixtureSetup 方法 (Setup()) 和 TestFixtureTearDown 方法 (TearDown())。然而,当运行所有测试时,SetUp() 和 TearDown() 只运行一次,而不是每次执行 TestCase 时。这是预期的行为吗?如果是,有没有办法在每次运行 TestCase 时运行这些方法?

最佳答案

装饰有 [TestFixtureSetUp][TestFixtureTearDown] 的方法对所有测试运行一次。
装饰有 [SetUp][TearDown] 的方法在每个测试用例之前和之后运行,因此您想使用它们。

这是一个示例执行顺序,包括构造函数和 Dispose 方法。方法名称对应于装饰它们的属性:NUnitTestClass..ctorNUnitTestClass.TestFixtureSetUpNUnitTestClass.SetUpNUnitTestClass.TestMethod1NUnitTestClass.TearDownNUnitTestClass.SetUpNUnitTestClass.TestMethod2NUnitTestClass.TearDownNUnitTestClass.TestFixtureTearDownNUnitTestClass.Dispose

10-08 13:08