gpt4 book ai didi

c# - 为什么我的 Visual Studio 单元测试中的每个测试都会触发 TestInitialize?

转载 作者:IT王子 更新时间:2023-10-29 03:31:42 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 2010 Beta 2。我有一个 [TestClass],它有一个 [TestInitialize][TestCleanup] 和一些 [TestMethods]

每次运行测试方法时,也会运行初始化和清理方法!

我的印象是 [TestInitialize][TestCleanup] 应该只在每次本地测试运行时运行一次。

这样对吗?如果不是,执行此操作的正确方法是什么?

最佳答案

TestInitializeTestCleanup 在每次测试前后运行,这是为了确保没有测试耦合。

如果您想在所有测试之前和之后运行方法,请使用 ClassInitializeClassCleanup 属性修饰相关方法。

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() { }

关于c# - 为什么我的 Visual Studio 单元测试中的每个测试都会触发 TestInitialize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com