[英]Why are JUnit tests run twice from within Eclipse?
在项目级别(或程序包级别)上的Eclipse中运行测试时,Eclipse会在所有项目的源文件夹中搜索JUnit类(或选定的程序包)。 这些都是带有@Test
批注的类,以及所有带有@RunWith
类(可能还有更多类)。 然后,对于所有这些类,将它们作为测试运行。
由于这种行为的结果,如果您有一个引用同一项目中的测试类的套件类,则这些测试将运行两次。 如果您有另一个套件执行相同的操作,它们将运行3次,依此类推。 若要了解此行为,请尝试运行一个包含两次测试用例的套件,例如:
@RunWith(Suite.class)
@SuiteClasses({ TestCase1.class, TestCase1.class })
public class TestSuite {}
此处接受的策略是为项目定义一个或多个套件,然后专门运行它们。 不要在项目级别上开始测试,而只能运行选定的套件。
就Maven而言,我怀疑其默认配置只会挑选套件类并忽略测试用例。 如果对其进行了不同的配置,则其行为将与Eclipse相同。
Elipse测试2个类,并给您2个结果。 Maven测试2个类,并给您一个结果和2个子结果。
我认为是这样,但最重要的是结果是积极的! :) 问候!
与此问题相同https://github.com/spring-projects/spring-boot/issues/13750
仅排除单个测试用例,并包括套件测试用例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.