Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使Junit测试类在运行测试包时最后运行_Java_Unit Testing_Junit4 - Fatal编程技术网

Java 如何使Junit测试类在运行测试包时最后运行

Java 如何使Junit测试类在运行测试包时最后运行,java,unit-testing,junit4,Java,Unit Testing,Junit4,我在项目中使用Junit进行单元测试。当我运行包含所有测试类的包时,或者在执行maven安装时,当这些测试类正在运行时,我需要执行命令junit测试类,或者让其中一个在最后运行。谢谢您的帮助。单元测试必须是Unit。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意 尽管您可以使用@BeforeClass或@AfterClass注释分别设置测试或清理代码的配置。单元测试必须是单元。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意 尽管可以使用@BeforeClass或@AfterC

我在项目中使用Junit进行单元测试。当我运行包含所有测试类的包时,或者在执行maven安装时,当这些测试类正在运行时,我需要执行命令junit测试类,或者让其中一个在最后运行。谢谢您的帮助。

单元测试必须是
Unit
。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意


尽管您可以使用
@BeforeClass
@AfterClass
注释分别设置测试或清理代码的配置。

单元测试必须是
单元
。如果您试图进行某种相互依赖的单元测试,那么这是一个坏主意


尽管可以使用
@BeforeClass
@AfterClass
注释分别设置测试或清理代码的配置。

根据设计,JUnit没有指定测试方法调用的执行顺序。到目前为止,这些方法只是按照反射API返回的顺序调用的。然而,使用JVM顺序是不明智的,因为Java平台没有指定任何特定的顺序,事实上JDK 7或多或少会返回一个随机顺序。当然,编写良好的测试代码不会采用任何顺序,但有些代码会采用任何顺序,而且在某些平台上,可预测的故障比随机故障要好

JUnit4.11默认情况下将使用确定性但不可预测的顺序(methodsorter.default)。要更改测试执行顺序,只需使用@FixMethodOrder注释测试类,并指定一个可用的MethodSorter:

  • @FixMethodOrder(MethodSorters.JVM):按照JVM返回的顺序保留测试方法。此顺序可能因运行而异

  • @FixMethodOrder(MethodSorters.NAME\u升序):按方法名称按字典顺序对测试方法进行排序


  • 根据设计,JUnit没有指定测试方法调用的执行顺序。到目前为止,这些方法只是按照反射API返回的顺序调用的。然而,使用JVM顺序是不明智的,因为Java平台没有指定任何特定的顺序,事实上JDK 7或多或少会返回一个随机顺序。当然,编写良好的测试代码不会采用任何顺序,但有些代码会采用任何顺序,而且在某些平台上,可预测的故障比随机故障要好

    JUnit4.11默认情况下将使用确定性但不可预测的顺序(methodsorter.default)。要更改测试执行顺序,只需使用@FixMethodOrder注释测试类,并指定一个可用的MethodSorter:

  • @FixMethodOrder(MethodSorters.JVM):按照JVM返回的顺序保留测试方法。此顺序可能因运行而异

  • @FixMethodOrder(MethodSorters.NAME\u升序):按方法名称按字典顺序对测试方法进行排序


  • 这听起来有点可疑。您不应该编写相互依赖的单元测试。它们应该是可以单独运行的不同测试,在这种情况下,它们运行的顺序无关紧要。如果你的测试有先决条件,那么使用setup方法。除了上面@BenThurley所说的,如果你解释/为什么/你想最后运行一个特定的测试可能会更好,我们可以帮助你解决这个问题事实上,让单元测试相互依赖是不好的,但我更喜欢在最后执行较慢的测试,最重要的一点是尽可能快地获得失败这听起来有点可疑。您不应该编写相互依赖的单元测试。它们应该是可以单独运行的不同测试,在这种情况下,它们运行的顺序无关紧要。如果你的测试有先决条件,那么使用setup方法。除了上面@BenThurley所说的,如果你解释/为什么/你想最后运行一个特定的测试可能会更好,我们可以帮助你解决这个问题事实上,让单元测试相互依赖是不好的,但我更喜欢在最后执行较慢的测试,最重要的一点是尽快获得成功