ruby – 如何使用RSpec在gem中测试Sinatra应用程序?
发布时间:2020-12-17 02:36:30 所属栏目:百科 来源:网络整理
导读:我正在编写一个gem,其中包含一个开发人员可以扩展的Sinatra应用程序.例如: # gem code:require 'sinatra'module Mygem class Application Sinatra::Base get 'auth/login' {} get 'auth/logout {} endend# developer code:require 'mygem'class DeveloperAp
我正在编写一个gem,其中包含一个开发人员可以扩展的Sinatra应用程序.例如:
# gem code: require 'sinatra' module Mygem class Application < Sinatra::Base get 'auth/login' {} get 'auth/logout {} end end # developer code: require 'mygem' class DeveloperApp < Mygem::Application # .. end 我也开始使用RSpec了.我应该如何配置RSpec来测试此功能? 解决方法
上面的参考资料都是信息性和有用的,但主要是特定于轨道.我发现很难找到一个简单的配方来进行模块化Sinatra应用程序的基本测试,所以我希望这会为其他人回答这个问题.这是一个完全无骨,尽可能小的测试.这可能不是唯一的方法,但它适用于模块化应用程序:
require 'sinatra' class Foo < Sinatra::Base get '/' do "Hello" end end require 'rack/test' describe Foo do include Rack::Test::Methods def app Foo.new end it "should be testable" do get '/' last_response.should be_ok end end 请注意,启动测试时不需要运行服务器(我看到的一些教程暗示你这样做) – 它不是集成测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |