【问题标题】:In this ExUnit test runner, why is ExUnit.Server.modules_loaded() called here?在这个 ExUnit 测试运行器中,为什么在这里调用 ExUnit.Server.modules_loaded()?
【发布时间】:2018-12-30 14:25:53
【问题描述】:

那么当使用 stale 选项运行 ExUnit 时,为什么会调用这一行 ExUnit.Server.modules_loaded()

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

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

【问题讨论】:

    标签: elixir ex-unit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 2017-04-09
      • 1970-01-01
      • 2012-07-27
      相关资源
      最近更新 更多