0

因此,当使用 stale 选项运行 ExUnit 时,为什么要ExUnit.Server.modules_loaded()调用此行?

我认为需要这条线Kernel.ParallelCompiler.require(test_files, parallel_require_callbacks)来要求 ex_unit 测试文件能够并行运行。

我可以跟踪模块ExUnit.Server.modules_loaded()中的源代码跟踪ExUnit.Server,但我有点不清楚take_modules函数调用的高级目的以及它为什么这样做?它似乎只是在更新GenServer状态并进行某种回复……目的仅仅是确保模块已加载并存储“加载”的状态,以便程序员可以“窥视”该状态吗?

4

1 回答 1

0

诚然,您的要求有点不清楚。至于您调用的特定行,该行是将测试用例加载到 ExUnit 的内容。这符合您之前的理解,加载测试文件,然后通过您调用的命令拉入测试用例本身ExUnit.Server.modules_loaded()。然后运行测试。链接文件的第 45 行%{failures: failures} = results = Task.await(task, :infinity)正在执行第 36 行定义的任务task = Task.async(ExUnit, :run, [])

于 2018-12-30T01:55:24.913 回答