2013-05-28 3 views
0

Я провел последние 2 дня, читая все, что мог найти в блогах, в книгах, в источнике других драгоценных камней и на SO, и я не могу, чтобы жизнь меня поняла. По общему признанию, я новичок в написании Ruby gems, Rails-движках и не совсем знаком со всеми методами просмотра RSpec (но я изучаю столько, сколько могу получить).Как проверить частичный или вспомогательный метод просмотра для самоцвета Rails с использованием RSpec?

Я сделал свой проект публичным в Github (хотя и на ранних этапах, но это основано на некоторой разметке, которую я повторно использовал в недавних проектах, которые я медленно пытаюсь втянуть в этот драгоценный камень) здесь:

https://github.com/robmclarty/admin_bar-rails

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

render :partial => 'admin_bar-rails/bar.html.haml' 
rendered.should contain 'admin-panel' 

... но я получаю NameError от RSpec относительно view_renderer следующим образом:

Failures: 

    1) rendering admin bar should render an empty admin bar 
    Failure/Error: render :partial => 'admin_bar-rails/bar.html.haml' 
    NameError: 
     undefined local variable or method `view_renderer' for #<RSpec::Core::ExampleGroup::Nested_2:0x007f99f260ec88> 
    # ./spec/views/admin_bar-rails/bar.html.haml_spec.rb:13:in `block (2 levels) in <top (required)>' 

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

Это главным образом «вставка динамической разметки в представления», поэтому я (и вы) может повторно использовать некоторые распространенные шаблоны в других проектах Rails. Я просто собираюсь сделать это неправильно? Люди даже проверяют такие взгляды, как это внутри драгоценных камней? Может ли кто-нибудь указать мне на некоторые другие примеры драгоценных камней, которые больше похожи на объекты/активы, которые используют RSpec?

ответ

0

Закончен путем выбора альтернативного пути путем компиляции разметки, которую я ранее имел в частичном представлении, и создавал то же самое через content_tag вызовы в вспомогательном методе. Это имеет несколько преимуществ: 1) хранит все соответствующие коды в одном месте, 2) упрощает тестирование деталей и 3) упрощает самоцветов, потому что теперь мне вообще не нужны какие-либо представления (только код Ruby/Rails).

Примечание: я удалил старый камень я связан в моем вопросе и заменить его следующим:

http://github.com/robmclarty/admin_nav-rails