Java 如何使Junit测试类在运行测试包时最后运行
我在项目中使用Junit进行单元测试。当我运行包含所有测试类的包时,或者在执行maven安装时,当这些测试类正在运行时,我需要执行命令junit测试类,或者让其中一个在最后运行。谢谢您的帮助。单元测试必须是Java 如何使Junit测试类在运行测试包时最后运行,java,unit-testing,junit4,Java,Unit Testing,Junit4,我在项目中使用Junit进行单元测试。当我运行包含所有测试类的包时,或者在执行maven安装时,当这些测试类正在运行时,我需要执行命令junit测试类,或者让其中一个在最后运行。谢谢您的帮助。单元测试必须是Unit。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意 尽管您可以使用@BeforeClass或@AfterClass注释分别设置测试或清理代码的配置。单元测试必须是单元。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意 尽管可以使用@BeforeClass或@AfterC
Unit
。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意
尽管您可以使用
@BeforeClass
或@AfterClass
注释分别设置测试或清理代码的配置。单元测试必须是单元
。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意
尽管可以使用
@BeforeClass
或@AfterClass
注释分别设置测试或清理代码的配置。根据设计,JUnit没有指定测试方法调用的执行顺序。到目前为止,这些方法只是按照反射API返回的顺序调用的。然而,使用JVM顺序是不明智的,因为Java平台没有指定任何特定的顺序,事实上JDK 7或多或少会返回一个随机顺序。当然,编写良好的测试代码不会采用任何顺序,但有些代码会采用任何顺序,而且在某些平台上,可预测的故障比随机故障要好
JUnit4.11默认情况下将使用确定性但不可预测的顺序(methodsorter.default)。要更改测试执行顺序,只需使用@FixMethodOrder注释测试类,并指定一个可用的MethodSorter:
根据设计,JUnit没有指定测试方法调用的执行顺序。到目前为止,这些方法只是按照反射API返回的顺序调用的。然而,使用JVM顺序是不明智的,因为Java平台没有指定任何特定的顺序,事实上JDK 7或多或少会返回一个随机顺序。当然,编写良好的测试代码不会采用任何顺序,但有些代码会采用任何顺序,而且在某些平台上,可预测的故障比随机故障要好 JUnit4.11默认情况下将使用确定性但不可预测的顺序(methodsorter.default)。要更改测试执行顺序,只需使用@FixMethodOrder注释测试类,并指定一个可用的MethodSorter:
这听起来有点可疑。您不应该编写相互依赖的单元测试。它们应该是可以单独运行的不同测试,在这种情况下,它们运行的顺序无关紧要。如果你的测试有先决条件,那么使用setup方法。除了上面@BenThurley所说的,如果你解释/为什么/你想最后运行一个特定的测试可能会更好,我们可以帮助你解决这个问题事实上,让单元测试相互依赖是不好的,但我更喜欢在最后执行较慢的测试,最重要的一点是尽可能快地获得失败这听起来有点可疑。您不应该编写相互依赖的单元测试。它们应该是可以单独运行的不同测试,在这种情况下,它们运行的顺序无关紧要。如果你的测试有先决条件,那么使用setup方法。除了上面@BenThurley所说的,如果你解释/为什么/你想最后运行一个特定的测试可能会更好,我们可以帮助你解决这个问题事实上,让单元测试相互依赖是不好的,但我更喜欢在最后执行较慢的测试,最重要的一点是尽快获得成功