用mocha模拟Rails应用程序对象

| 我正在编写一个生成器,我需要模拟一个Rails.application对象,并取回Rails.application.class.parent作为Rails应用程序的名称。
def test_model_with_application_namespace
  name = \"Dummyapp\"
  application = Rails.stubs(:application).class.parent.returns(name)
  run_generator [\"file\", \"--namespaced\"]
  assert_file \"app/models/myapp/file.rb\", /class Dummyapp::File < ActiveRecord::Base/
end
到目前为止,这是我要进行的测试。     
已邀请:
您需要由
Rails.application.class
退回的对象是响应
parent
并返回
name
的模拟对象。现在,您只需要存根应用程序即可。您需要parent,class和application来模拟。可能有一种更清洁的方法,但是我认为这可以满足您的要求:
 application = Rails.stubs(:application).returns(mock(:class => mock(:parent => name)))
    

要回复问题请先登录注册