Как я могу заставить Mix запускать только определенные тесты из моего набора тестов?
Как я могу заставить Mix запускать только определенные тесты из моего набора тестов?
При запуске mix test выполняются все тесты
Ответ 1
Есть 5 способов запустить только определенные тесты с Elixir
запустите один файл с mix test path_to_your_tests/your_test_file.exs Это запустит весь тест, определенный в your_test_file.exs
запустить определенный тест из определенного файла теста, добавив двоеточие и номер строки этого теста например, mix test path_to_your_tests/your_test_file.exs:12 запустит тест в строке 12 your_test_file.exs
определить тег для исключения из ваших методов тестирования
defmodule MyTests do
@tag disabled: true
test "some test" do
#testtesttest
end
end
в командной строке выполните ваши тесты, как это mix test --exclude disabled
определить тег для включения в ваши методы тестирования
defmodule MyTests do
@tag mustexec: true
test "some test" do
#testtesttest
end
end
в командной строке выполните ваши тесты, как это mix test --only mustexec
Как правило, исключите некоторые помеченные тесты, добавив их в файл test/test_helper.exs ExUnit.configure exclude: [disabled: true]
Предупреждение: Mix имеет директиву --include. Эта директива НЕ совпадает с директивой --only. Включение используется для test/test_helper.exs общей конфигурации (исключения) из файла test/test_helper.exs описанного в разделе 4).
По некоторым причинам поиск в elixir mix include tests и т.п., которые никогда не отображаются в моих результатах поиска, поэтому я написал эту запись и ее ответ. Документацию можно найти здесь http://elixir-lang.org/docs/stable/mix/