默认 ExUnit.Case 使用"async: true"



ExUnit.Case 的文档说:async选项默认为false并且"只有在测试不更改任何全局状态时才应启用"。在一个项目中,我正在处理的测试用例中有<1%会更改全局状态,但是人们经常忘记向应该异步的用例添加async: true

有没有办法让项目默认:asynctrue

到目前为止,我想出的最佳解决方案是创建我自己的案例模板,将我自己的默认值传递给use ExUnit.Case,但如果可以的话,我想避免这种情况。这似乎有点奇怪,我觉得那时人们会忘记使用自定义案例模板。如果有一种方法可以在我在文档中找不到的配置中设置它,我相信这就是我正在寻找的更多内容。

正如源代码中所示,async属性仅直接从选项中获取。

也许拉取请求的作用有点像:

- async = !!unquote(opts)[:async]
+ async = Keyword.get(
+   unquote(opts),
+   :async,
+   Application.get_env(:ex_unit, :async_all, false)
+ )

最新更新