Elixir ExUnit:完整测试套件之前的 运行 函数?

Elixir ExUnit: Run function before the complete test suite?

在每个测试之前调用 setup 回调,在任何测试运行之前每个模块只调用一次 setup_all 回调。

我有这样的情况,我需要在整个测试套件运行之前准备一些东西。只有一次。我正在使用非标准数据库并设置包含所有索引的架构需要一点时间。所以我想通过不经常这样做来加快测试速度。

有办法处理吗?

您可以将您的初始化代码放在test/test_helper.exs中。该文件中的任何代码都将在测试 运行 之前执行,并且只会执行一次。正如@mudasobwa 指出的那样,代码是在 ExUnit.start() 之前还是之后并不重要,它会在测试之前 运行。

# your code here 

ExUnit.start()

# or here