问题设置 我想调查一下我们在测试中使用的对象最终确定时遇到的一些问题。因此,我想更详细地了解surefire如何运行JUnit测试。
似乎其中一些测试仍然存在,可能是因为
我的问题
调用mvn test
时执行测试方法的执行顺序/路径是什么?
如何使用forkCount = {0,1}运行测试?
surefire如何创建JVM的分支以及surefire的源代码在哪里发生?
什么时候叉子被杀死并且它运行终结器?
使用的万无一失版本是2.16。
我发现这些课程并且跟随了更多,但我在乱七八糟的时候迷失了方向: ForkStarter 似乎surefire通过ForkClient管理通信,但是我找不到新JVM进程启动/结束的点,the surefire page也没有给我一个确切的线索。
此外,我找到了这个文档,为类启动提供了一些指示: https://github.com/apache/maven-surefire/blob/8881fabb9625522a4790ef8c96179233a51e7385/maven-surefire-plugin/src/site/apt/developing.apt.vm