这是一个简单(也许是常见的)问题,但我找不到明确的答案。
我正在使用Rspec和Capybara从虚拟应用程序测试我的rails引擎。在我的功能规范中,我需要使用名为ApplicationController
的{{1}}方法和特定参数。我该怎么办?
我的功能测试是:
get_component()
返回
require "rails_helper"
describe "My test", type: :feature do
it "gets a component if slug is provided" do
# ...
component = ApplicationController.get_component( slug )
# ...
end
end
我不想模拟/存根该方法,我希望它能够真正运行。
此外,应用程序NoMethodError:
undefined method `get_component' for #<ApplicationController:0x007ff7207234f8>
应该继承引擎,不应该吗?所以调用ApplicationController是正确的,不是吗?
答案 0 :(得分:1)
请记住,get_component
是一个实例方法,而不是类方法,因此您只能在ApplicationController对象上调用它,而不能在类本身上调用它。试试这个......
component = ApplicationController.new.get_component( slug )