我有一个Sinatra应用程序。
它包括以下内容:
helpers do
def helper1
...code...
end
def helper2
...code...
end
...
end
如何测试这些辅助方法?
目前我的rspec有:
ENV['RACK_ENV'] = 'test'
require_relative '../app' # <-- your sinatra app
describe 'Basic test' do
before :each do
@xml_info = File.read('examples/request_litle_auth.xml')
end
it "basic test" do
'a'.should eq 'a'
end
it "can call a helper method" do
to_dollars(30)
end
end
但是这给了:
undefined method `to_dollars' for #<RSpec::Core::ExampleGroup::Nested_1:0x00000002460e18>
答案 0 :(得分:1)
Rack::Test
一起使用。这是一个虚假的浏览器会话,它对您的sinatra应用程序执行请求,以便您可以断言响应代码,内容等。
如果要测试自定义的辅助方法,则需要使用与此类似的内容:https://github.com/padrino/padrino-framework/issues/930
TL; DR
创建一个模块,将其包含在您的助手调用中,以您喜欢的任何方式测试模块。