我希望在我的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