①谁在调用JUnit
源码分析
当点击了执行单例,发生了什么事情?

可以看到idea会将单侧的类和方法传递给JUnit。最终由

可以看到最终是由 AllDefaultPossibilitiesBuilder 来进行了承接 。所以到这里我们就找到了入口。后续所有的能力,都要从JUnit中去寻找了。
java
1 @Override
2 public Runner getRunner() {
3 if (runner == null) {
4 synchronized (runnerLock) {
5 if (runner == null) {
6 runner = new AllDefaultPossibilitiesBuilder(canUseSuiteMethod).safeRunnerForClass(fTestClass);
7 }
8 }
9 }
10 return runner;
11 }