Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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 mvn包在本地执行的测试比在本地执行的测试多_Java_Maven_Spring Boot_Junit_Bamboo - Fatal编程技术网

Java mvn包在本地执行的测试比在本地执行的测试多

Java mvn包在本地执行的测试比在本地执行的测试多,java,maven,spring-boot,junit,bamboo,Java,Maven,Spring Boot,Junit,Bamboo,我有一个spring引导应用程序,其中包括JUnit测试,我使用maven构建。我使用@Suite.SuiteClasses符号在一个套件中组织了JUnit测试 我的问题是,为什么当我在本地运行mvn package时,我看到套件引用的单元测试被执行,但它们也被执行,就像它们不是套件的一部分一样,而在用竹子构建代码时,再次使用mvn package只执行一次测试(即作为套件的成员)。您是否在竹子和本地使用相同的profiles/settings/maven命令 我认为当执行时,surefire插

我有一个spring引导应用程序,其中包括JUnit测试,我使用maven构建。我使用
@Suite.SuiteClasses
符号在一个套件中组织了JUnit测试


我的问题是,为什么当我在本地运行
mvn package
时,我看到套件引用的单元测试被执行,但它们也被执行,就像它们不是套件的一部分一样,而在用竹子构建代码时,再次使用
mvn package
只执行一次测试(即作为套件的成员)。

您是否在竹子和本地使用相同的profiles/settings/maven命令

我认为当执行时,surefire插件会开始执行所有的测试。默认情况下,surefire插件可能会使用命名问题


如果您使用-X执行maven目标,您应该能够看到它用于识别测试的surefire插件配置。这应该只匹配您的套件,而不是套件和测试本身。

感谢您的回复@wemu。我通过更彻底地检查竹木日志,设法找到了答案。我意识到所有的与我在本地运行时一样,有许多测试用例在Bambol中运行。但是,在解析surefire日志(xml)时,Bambol不计算已运行两次的测试(它将它们视为一次)。因此,不同之处在于。现在我需要了解如何仅运行套件,而不运行单个测试用例(surefire配置)。我认为您只需要更改surefire插件的包含项,使其仅与套件文件匹配。应该可以。谢谢wemu。这就成功了。我从surefile插件配置中排除了*Test.java。套件文件名为*Tests.java,因此包含了这些文件。很高兴它有所帮助:)