gpt4 book ai didi

java - 如何在 JUnit4 中按特定顺序运行测试方法?

转载 作者:bug小助手 更新时间:2023-10-28 01:36:40 33 4
gpt4 key购买 nike

我想按特定顺序执行由 @Test 注释的测试方法。

例如:

public class MyTest {
@Test public void test1(){}
@Test public void test2(){}
}

我想确保每次运行 MyTest 时在 test2() 之前运行 test1(),但找不到注释比如 @Test(order=xx)

我认为这对 JUnit 来说是相当重要的功能,如果 JUnit 的作者不想要 order 功能,为什么?

最佳答案

I think it's quite important feature for JUnit, if author of JUnit doesn't want the order feature, why?

我不确定 JUnit 是否有一种干净的方法可以做到这一点,据我所知,JUnit 假定所有测试都可以按任意顺序执行。来自常见问题解答:

How do I use a test fixture?

(...) The ordering of test-method invocations is not guaranteed, so testOneItemCollection() might be executed before testEmptyCollection(). (...)

为什么会这样?好吧,我相信让测试顺序依赖是作者不想推广的一种做法。测试应该是独立的,它们不应该是耦合的,违反这一点使事情更难维护,会破坏单独运行测试的能力(显然)等等。

话虽如此,如果您真的想朝这个方向发展,请考虑使用 TestNG,因为它支持以任意顺序运行测试方法(以及指定方法取决于方法组)。 Cedric Beust 在 order of execution of tests in testng 中解释了如何做到这一点。 .

关于java - 如何在 JUnit4 中按特定顺序运行测试方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693626/

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