Как я могу заставить Mix запускать только определенные тесты из моего набора тестов?

29

Как я могу заставить Mix запускать только определенные тесты из моего набора тестов?

При запуске mix test все тесты выполняются

    
задан robkuz 01.10.2014 в 22:36
источник

1 ответ

51

Есть 5 способов запустить только определенные тесты с Elixir

  1. запустите один файл с mix test path_to_your_tests/your_test_file.exs
    Это запустит весь тест, определенный в your_test_file.exs

  2. запустить определенный тест из определенного файла теста, добавив двоеточие и номер строки этого теста
    например, mix test path_to_your_tests/your_test_file.exs:12 запустит тест в строке 12 your_test_file.exs

  3. определите тег для исключения из ваших методов тестирования

    defmodule MyTests do
        @tag disabled: true
        test "some test" do
            #testtesttest
        end
    end
    

    в командной строке выполните ваши тесты следующим образом
    mix test --exclude disabled

  4. определите тег для включения в ваши методы тестирования

    defmodule MyTests do
        @tag mustexec: true
        test "some test" do
            #testtesttest
        end
    end
    

    в командной строке выполните ваши тесты следующим образом
    mix test --only mustexec

  5. Как правило, исключите некоторые помеченные тесты, добавив их в файл test/test_helper.exs
    ExUnit.configure exclude: [disabled: true]

Achtung Mix имеет директиву --include . Эта директива НЕ такая же, как директива --only . Включение используется для удаления общей конфигурации (исключения) из файла test/test_helper.exs , описанного в разделе 4).

По какой-то причине поиск в elixir mix include tests и т.п. никогда не появляется в моих результатах поиска, поэтому я написал эту запись и ее ответ. Документацию можно найти здесь
Ссылка

    
ответ дан robkuz 01.10.2014 в 22:36
  • И вы также можете выполнить: mix test path / to / file: line, и он будет запускать тест в этом файле на этой строке. –  José Valim 02.10.2014 в 09:57
  • robkuz, вы можете пометить этот ответ как принятый. –  Patrick Oscity 11.12.2014 в 12:35