我希望在我的Elixir项目中有两套独立的单元测试,我可以使用不同的ExUnit配置单独运行。我正在使用ExUnit格式器,我正在为它编写单元测试。为了测试它,我想我会创建另一个包含test_helper.exs
文件的目录(example_tests
),与test/
中的类似,但ExUnit配置为使用我的自定义格式化程序。我将格式化程序添加为ExUnit格式化程序,然后创建一个测试模块example_tests
。现在的问题是我不知道如何配置ExUnit以使用在example_tests/test_helper.exs
中指定的配置运行example_tests/
中的所有测试。ExUnit - 运行存储在自定义目录中的所有测试(不测试/)
我发现有一个test_paths
配置参数可以在mix.exs
文件中设置。问题在于,每个项目都设置了一个值,我需要它有两个不同的值(通常只有["test"]
,但随后用格式化程序["example_tests"]
进行测试)。我认为我可以在每个任务的基础上覆盖配置值,所以我也创建了一个example_tests任务,但我无法弄清楚如何改变配置。
有没有办法根据每个任务自定义项目配置(Mix.Project.config
)?或者,是否有更好的方法来创建两个不同的ExUnit配置单独的测试集?
更新:
这里是源代码的链接为test
混音任务:https://github.com/elixir-lang/elixir/blob/master/lib/mix/lib/mix/tasks/test.ex