2010-07-24 4 views
0

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

Простейшая версия моего кода в качестве примера.

# controller 
@bla = "some value" 

# view 
<%= foo %> 

# helper 

def foo 
    @bla.reverse 
end 

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

def foo(s) 
    s.reverse 
end 

ответ

0

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

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

+0

Хорошо, спасибо за ваш ответ. Помощник - это всего лишь пример не «код реального мира» :) – startkinder

+0

Нет проблем, понимайте: D. Но да, короткий ответ - проверьте помощников через контроллеры, или нет встроенной инфраструктуры поддержки. – jasonpgignac

1

Вы можете легко протестировать помощников, и он встроен в тестовую среду, поэтому я не уверен, что говорит 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, и я передал ему крепление.

Легкий материал, который поставляется с самым большим испытательным каркасом, известным человеку, испытанием :: единицей и приспособлениями ... как предназначил Бог.

Смежные вопросы