рельсы тестирования помощников с переменной экземпляра? - PullRequest
1 голос
/ 24 июля 2010

Я хочу проверить помощника, где я использую переменную экземпляра внутри.Я использую rails 2.3 со стандартным фреймворком для тестирования.Может ли кто-нибудь написать мой простой тест (я думаю, юнит-тест) для этого?спасибо

Более простая версия моего кода в качестве примера.

# controller
@bla = "some value"

# view
<%= foo %>

# helper

def foo
  @bla.reverse
end

или лучше написать этот помощник с вызовом параметра?

def foo(s)
  s.reverse
end

Ответы [ 2 ]

0 голосов
/ 19 августа 2010

Вы можете тестировать помощников довольно легко, и это встроено в тестовую среду, поэтому я не уверен, что говорит jasonpgignac.

В тесте / юнит / помощники вы увидите всех своих помощников, сгенерированных вашимсценарий / генерация скаффолда или контроллера ... как бы вы их ни генерировали.

Внутри указанного файла вы можете просто утверждать, что значение равно, потому что вы просто тестируете, чтобы убедиться, что результат соответствует ожидаемому.,Вот что я извлек из своего кода:

require 'test_helper'

class PaymentsHelperTest < ActionView::TestCase
  test "displays Month names" do
    assert_equal "April 2010", month_and_year_name(payment_transactions(:one))
  end
end

Прошло некоторое время с тех пор, как я написал это, но вы вызываете фактического помощника в своем утверждении.В этом случае мой помощник был назван month_and_year_name, и я передал ему приспособление.

Простые вещи, которые поставляются с самой большой тестовой средой, известной человеку, test :: unit и fixtures ... как задумал Бог.

0 голосов
/ 24 июля 2010

Возможно, я что-то упускаю, но в приведенном вами примере вы просто написали обертку один к одному вокруг обратной функции? Что ты пытаешься сделать?

Что касается тестов, в тестовом наборе, который поставляется с rails, нет прямого метода тестирования помощников, но есть плагин, который добавляет эту функциональность: http://nubyonrails.com/articles/test-your-helpers. Я не использовал его в пока, но я думаю, что это все еще работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...