2017-02-08 4 views
0

Это мое создать действие:Minitest Мокко Заглушка есть действие в Rails

def create  
    if #something then 
     flash[:sucess] = "sucess!" 
     redirect_to app_path 
    else 
     flash[:error] = "error" 
     render "template" 
    end 

это мой тестовый контроллер

should "fail if " do 
    assert_no_difference '....' do 
     patch :create, #hash here 
    end 

Я потушил пару методов использования мокко, поэтому я не могу render 'template'. Я хочу заглушить действие рендеринга, поэтому никакой шаблон не отображается. Что-то like this in rspec

stub_template "gadgets/_form.html.erb" => "This content" 

До сих пор я tried @ controller.expects (воздай), но это не сработало.

Я также попытался any_instance без успеха

ActionView.any_instance.stubs(:render).returns(false) 
*** NoMethodError Exception: undefined method `any_instance' for ActionView:Module 

Как я могу окурок оказывать действие с помощью мокко с MiniTest?

+0

Почему вы хотите, чтобы окурок метод визуализации? Представления не отображаются в тесте контроллера, если вы явно не используете ['render_views'] (https://www.relishapp.com/rspec/rspec-rails/v/3-5/docs/controller-specs/render-views) , – max

+0

Это часть backtrace: 'app/views/instance/index.html.haml: 1: in '_app_views_instances_index_html_haml___803308070840349184_59487160' 'У меня нет render_views. – Gaston

+0

А я пропустил, что вы используете minitest, а не rspec. Возможно, вы захотите сделать это более очевидным, так как формулировка неадекватна – max

ответ

1

Используйте это: ActionView::Renderer.any_instance.stubs(:render).returns('')

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