Вспомогательные функции в модульных тестах Rails - PullRequest
0 голосов
/ 04 августа 2010

Я использую этот вид кода в своем коде в моих модульных тестах.

test "should be awesome" do
  assert true
end

Я использую FactoryGirl вместо светильников.

Я обнаружил, что я повторяюсь много раз, и использование вспомогательных функций было бы весьма полезно. Каков наилучший способ создания и вызова вспомогательной функции в модульном тесте? Есть ли before_filter доступным, как в контроллерах (я пытался вставить его, но это просто неопределенный метод). Любая помощь приветствуется!

1 Ответ

5 голосов
/ 04 августа 2010

Вы можете без проблем добавлять служебные функции в свои модульные тесты.Пока вы их не называете, назовите их как «test_something», они не будут запускаться как модульные тесты.Затем вы можете вызывать их из ваших реальных методов модульного тестирования (используемый вами формат сводится к тому, чтобы в любом случае иметь метод в классе).

Итак:

test "should be awesome" do
  assert_general_awesomeness
  assert true
end

private

def assert_general_awesomeness
  assert true
end

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

Если вы выполняете общие вызовы для настройки перед модульным тестом, вы можете вставить его в метод setup, который будетбыть вызванным перед каждым тестом в классе.

...