Spec helper:
require 'sinatra'
get '/' do
track_request
"Welcome"
end
def track_request
puts self.inspect
....
end
应用:
track_request
如何模仿allow(app).to receive :track_request
allow_any_instance_of(Sinatra::Application).to receive :track_request
allow(Sinatra::Application).to receive :track_request
?
self
这些都不起作用。
String sql = "insert into some_table (some_column, timestamp_column) values (?, current_timestamp)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, 42);
stmt.executeUpdate();
是主要的,所以我想我们需要在main上模拟一个方法。但是没有找到怎么做。
答案 0 :(得分:0)
也许不可能? (到目前为止,我很难过)
阅读此博文后:http://www.philandstuff.com/2012/02/12/surprises-while-testing-sinatra-controllers.html
在处理HTTP请求之前,看起来Sinatra会重复您的控制器。
来自' sinatra / base.rb'
# Rack call interface.
def call(env)
dup.call!(env)
end
在测试Sinatra应用程序时,这似乎是常见的事情。我很惊讶没有一个明确的解决方案。