测试套件设置方法是为每个测试执行一次,还是只执行一次?

发布于 2024-08-30 15:04:55 字数 44 浏览 6 评论 0原文

我知道每个测试框架的答案可能有所不同。但对于你认识的人来说,应该发生什么?

I know the answer may differ for each test framework. But for the ones you know, what should happen?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

幸福不弃 2024-09-06 15:04:55

在 NUnit 中,您有 TestFixtureSetUp 在夹具中的所有测试运行之前仅运行一次,而 SetUp 在每个测试方法运行之前运行。

In NUnit, you have TestFixtureSetUp which runs only once before all tests in the fixture run and SetUp which runs before each test method is run.

落墨 2024-09-06 15:04:55

在 MSTest 中,您有 TestInitializeAttribute

在负载测试中运行时,标有此属性的方法将为测试中的每个虚拟用户迭代运行一次。如果您需要执行一次适用于整个测试的初始化操作,请使用 ClassInitializeAttribute

AssemblyInitializeAttribute 对所有类中的所有测试运行一次。

In MSTest you have TestInitializeAttribute

When run in a load test, the method marked with this attribute will run once for every virtual user iteration in the test. If you need to do initialization operations once, that apply to the entire test, use the ClassInitializeAttribute.

AssemblyInitializeAttribute is run once for all tests in all classes.

人海汹涌 2024-09-06 15:04:55

这自然取决于框架,对于这个问题的具体答案,您应该检查相关文档。

设置测试方法或夹具很有用,但不应滥用。如果单元测试有复杂的设置方法,你可能会说它们更重要的是集成测试,因此应该重构。复杂的测试设置是一种代码味道。另一方面,明智地使用设置方法可以减少重复并使测试更具可读性和可维护性。

This naturally depends on the frameworks, and for the concrete answers to this you should check the relevant documentation.

Set up methods for tests, or fixtures are useful, but they should not be abused. If unit tests have complex set up methods you could argue they are more so integration tests, and thus should be refactored. A complex test set up is a code smell. On the other hand, set up methods used wisely can reduce duplication and make tests more readable and maintainable.

一张白纸 2024-09-06 15:04:55

junit4中,您可以使用注释来标记这两种安装/拆卸方法。摘要如下:

  • 在每个测试套件之前运行设置,使用@BeforeClass
  • 在每个测试套件之后运行拆卸,使用@AfterClass code>
  • 运行setup 在套件中的每个测试方法之前使用@Before
  • 运行tear down在套件中的每个测试方法之后使用@之后

In junit4 you have annotations available to mark both kind of setup/teardown methods. Here is the summary:

  • running setup before each test suite use @BeforeClass
  • running tear down after each test suite use @AfterClass
  • running setup before each test method in your suite use @Before
  • running tear down after each test method in your suite use @After
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文