因此,当使用陈旧选项运行ExUnit时,为什么调用此行ExUnit.Server.modules_loaded()
?
我认为需要这行Kernel.ParallelCompiler.require(test_files, parallel_require_callbacks)
来要求ex_unit测试文件能够并行运行。
我可以在ExUnit.Server.modules_loaded()
模块中跟踪ExUnit.Server
的源代码跟踪,但是对于take_modules
函数调用在做什么的高级目的,我还不清楚以及为什么它在做什么?似乎只是在更新GenServer
状态并进行某种回复...的目的仅仅是确保模块已加载并存储该“加载”状态,以便程序员可以“窥视”该状态。状态?
答案 0 :(得分:0)
诚然,您所要问的还不清楚。对于您要调用的特定行,该行就是将测试用例加载到ExUnit的过程。符合您较早的理解,将加载测试文件,然后通过您调用ExUnit.Server.modules_loaded()
的命令将测试用例本身放入。然后运行测试。链接文件%{failures: failures} = results = Task.await(task, :infinity)
的第45行正在执行第36行task = Task.async(ExUnit, :run, [])