Как назвать 'time_ago_in_words' от FunctionalTest?

Я использую функцию 'time_ago_in_words' в представлении, и я должен протестировать вывод в FunctionalTest.

Но тест не видит, что 'time_ago_in_words' помощник функционирует.

Что я должен сделать для использования этих вспомогательных методов от FunctionalTests?

17
задан Raiden 11 February 2010 в 16:09
поделиться

2 ответа

Включите модуль ActionView :: Helpers :: DateHelper в свой тест test_helper.rb или .rb файлы. И все, из тестовой консоли:

>> time_ago_in_words(3.minutes.from_now)
NoMethodError: undefined method `time_ago_in_words' for #<Object:0x3b0724>
from (irb):4
from /Users/blinq/.rvm/rubies/ruby-1.9.1-p376/bin/irb:15:in `<main>'
>> include ActionView::Helpers::DateHelper
=> Object
>> time_ago_in_words(3.minutes.from_now)
=> "3 minutes"
41
ответ дан 30 November 2019 в 11:22
поделиться

Что именно вы пытаетесь проверить? Вам не нужно проверять поведение самого time_ago_in_words, потому что это покрывается собственными тестами Rails. Если вы тестируете один из собственных хелперов, использующих time_ago_in_words, вывод можно проверить в тесте хелпера (который наследуется от ActionView::TestCase).

Функциональные тесты предназначены для проверки поведения контроллеров (какой шаблон они отображают, разрешают ли они доступ, перенаправляют ли и т.д.), что может включать проверку на наличие определенных HTML-тегов (по id). Обычно я стараюсь не использовать их для проверки содержания тегов.

-1
ответ дан 30 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: