2010-11-06 2 views
0

Используя rspec или similiar, можно ли проверить страницу просмотра, что логика шаблона верна?Можно ли проверить страницу просмотра, если form_tags верны?

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

Могу ли я проверить визуализацию шаблона, чтобы увидеть, если он сломается?

ответ

1

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

Вы могли бы сделать интеграцию тестирование этого рода с RSpec (взгляните на режим интеграции в документации RSpec), но это довольно утомительно и некрасиво:

response.should have_tag("input[name=?]", "foo") 

режим интеграции будет вызывать ваш контроллер и визуализации соответствующее представление, и в этот момент станет очевидным, если представление откажется от визуализации, поскольку оно вызывает несуществующий модельный метод (в этом случае даже не важно, что у вас есть в вашем тесте просмотра).

Или вы могли бы пойти по маршруту огурца/стейка/etc (что, вероятно, является лучшей идеей в конечном итоге).

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