2015-11-03 4 views
2

я иногда вижу, что тесты TAged в :pendingКак запустить: ожидающие проверки из командной строки?

ExUnit.start 
ExUnit.configure(exclude: :pending) 

defmodule SublistTest do 
    use ExUnit.Case, async: true 

    test "empty equals empty" do 
    assert Sublist.compare([], []) == :equal 
    end 

    @tag :pending 
    test "empty is a sublist of anything" do 
    assert Sublist.compare([], [nil]) == :sublist 
    end 
end 

Очевидно, что исключены из исполнения, при выполнении тестов из оболочки

elixir sublist_test.exs 

Есть ли способ включить :pending тест при выполнении тестов из командная строка?

И второй вопрос: почему люди тегируют тесты как :pending.

ответ

4

Вы можете сделать это с помощью задачи mix test внутри проекта Mix. Смешать проекты супер прост в настройке:

$ mix new sublist 

Вы можете указать исключения по умолчанию в test/test_helper.exs:

ExUnit.start() 
ExUnit.configure(exclude: :pending) 

, то вы можете написать свой тест test/sublist_test.exs. Для того, чтобы запустить тесты, сделать

$ mix test 

и включить в ожидании испытаний, а также сделать

$ mix test --include pending 

Теперь ваш второй вопрос: люди, как правило, отмечают тесты в ожидании, потому что они еще не реализованы, но они надевают Не хочу забывать о них. Например, вы можете быть в сжатые сроки, но хотите убедиться, что тесты в конечном итоге будут завершены. Или, может быть, тест еще не работает, потому что сначала вам нужно реализовать другие вещи.

Если тесты не были исключены по умолчанию, они передали бы неправильное сообщение: что затронутые тесты являются красными. Но они скорее должны делать предметы, чем фактические тесты, поэтому они не должны прерываться по умолчанию.

+0

Что делать, если у меня есть только два файла. Например: sublist.exs, sublist_test.exs. Я не могу использовать 'mix', потому что у меня нет' mix.exs'. – kendriu

+0

Я не думаю, что это возможно из коробки. Вы можете прочитать параметры командной строки, а затем вручную подать их в exunit ocnfiguration, но использование проекта смешивания намного проще и менее хрупким. –