gpt4 book ai didi

maven - mvn 测试与 mvn surefire :test

转载 作者:行者123 更新时间:2023-12-02 09:13:07 26 4
gpt4 key购买 nike

我正在使用 Maven 运行单个测试。

以这两种方式运行它的区别是:

mvn -Dtest=DatabaseTest test

mvn -Dtest=DatabaseTest surefire:test

我可以看到 测试 显示:
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rac.mybatis ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ rac.mybatis ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rac.mybatis ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/etomort/smip/oracle-rac/mybatis-rac/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ rac.mybatis ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rac.mybatis ---
[INFO] Surefire report directory: /home/etomort/smip/oracle-rac/mybatis-rac/target/surefire-reports

surefire:test 显示:
[INFO] --- maven-surefire-plugin:2.12.4:test (default-cli) @ rac.mybatis ---
[INFO] Surefire report directory: /home/etomort/smip/oracle-rac/mybatis-rac/target/surefire-reports

This question 有非常有值(value)的解释,尽管当前的解释指出了一个人可能面临的典型疑问,而且它是一个非常具体的用例。 @Shadow 提供的答案对此进行了澄清。可以引用 maven-lifecycle-vs-phase-vs-plugin-vs-goal 问题来扩大和更深入地了解 Maven 的工作方式。

最佳答案

不同之处在于 test 运行完整的构建,直到执行测试的点,而 surefire:test 只执行测试,重用先前构建的中间结果。

所以如果你例如编辑测试并只运行 surefire:test ,不会编译新版本的测试,因此 Maven 将执行一些旧版本的测试。一般来说,很难说哪个版本的测试会以这种方式执行,所以这就是为什么人们通常使用 mvn clean test 而不是 mvn surefire:test

关于maven - mvn 测试与 mvn surefire :test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854054/

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