我有点不确定如何为辅助方法编写测试,该辅助方法的输出基于给定的控制器和所请求的操作。
在我的应用程序助手中给出以下帮助方法......
module ApplicationHelper
def body_id
[ controller.controller_name, controller.action_name ].join("_")
end
end
...您如何编写测试此方法的application_helper_spec
?
答案 0 :(得分:2)
分配或模拟控制器对象。这会给你一些测试的东西。 (RSpec包含一个非常好的模拟/存根库。)
答案 1 :(得分:0)
以下是一个例子:
require 'spec_helper_lite'
require_relative '../../app/helpers/application_helper'
describe ApplicationHelper do
let(:helper) do
class Helper
include ApplicationHelper
end
Helper.new
end
it "formats an elapsed time as a number of minutes and seconds" do
helper.elapsed_as_min_sec(90).should == "1min 30sec"
end
end
我的spec_helper_lite.rb文件看起来像这样:
require 'rspec'
require 'rspec/autorun'
RSpec.configure do |config|
config.order = "random"
end