gpt4 book ai didi

.net - NUnit 全局初始化 - 坏主意?

转载 作者:行者123 更新时间:2023-12-03 07:22:25 25 4
gpt4 key购买 nike

我们的测试套件中需要一些全局一次性设置代码。我们可以多次这样做,但这需要相当长的时间。

  • 所有灯具都需要它,因此[TestFixtureSetUp]不起作用。它必须在所有 [TestFixtureSetUp] 代码之前运行。

  • 将其放入 Main() 中,因为我们将测试程序集保留为可执行文件。但是 Main 不会在 GUI 客户端下执行。

  • 只有当您引用该类时,才可以使用静态构造函数创建单独的类进行初始化,而我们不喜欢在每个类中都这样做。

  • 从基类继承所有测试装置并向其添加静态构造函数会导致对初始化代码的多次调用。

现在鉴于情况,我有两个问题:

1) NUnit 不支持“全局设置”,这是一个非常糟糕的主意吗?

2) 实现这一目标最不痛苦、最常见的方法是什么?

最佳答案

[设置夹具]

此属性标记一个类,该类包含给定命名空间下所有测试装置的一次性设置或拆卸方法。

SetUpFixture 中的 SetUp 方法在其命名空间中包含的任何装置之前执行一次。TearDown 方法在所有灯具执行完毕后执行一次。

程序集范围内的初始化。如果您不将该类放入任何命名空间中,它将应用于程序集中的所有测试。

例如。

// using statements

[SetUpFixture]
public class GlobalSetup {
[SetUp]
public void ShowSomeTrace() {
Trace.WriteLine("It works..."); // won't actually trace
}
}

http://www.nunit.org/index.php?p=setupFixture&r=2.4

关于.net - NUnit 全局初始化 - 坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619735/

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