我正在构建一个Spree商务应用程序,我正在使用我的规范中的gem提供的工厂.但是,我发现自己需要覆盖特定工厂的某些属性以满足我的应用程序需求.
示例:UserSpree定义的工厂有6个字符的密码.我的应用程序要求至少8.如何在password不编写全新工厂的情况下覆盖属性?
这是我与Sinatra的第一次尝试.我构建了一个简单的经典应用程序,为它设置RSpec,并让它工作.然后,我尝试以MVC方式进行模块化.即使应用程序在浏览器中工作,RSpec也会抛出一个NoMethodError.我已经阅读过关于RSpec的Sinatra文档,在SO中也搜索了很多,但我找不到bug的位置.任何线索?
非常感谢你提前.
这是我的相关文件:
config.ru
require 'sinatra/base'
Dir.glob('./{app/controllers}/*.rb') { |file| require file }
map('/') { run ApplicationController }
Run Code Online (Sandbox Code Playgroud)
app.rb
require 'sinatra/base'
class ZerifApp < Sinatra::Base
# Only start the server if this file has been
# executed directly
run! if __FILE__ == $0
end
Run Code Online (Sandbox Code Playgroud)
应用程序/控制器/ application_controller.rb
class ApplicationController < Sinatra::Base
set :views, File.expand_path('../../views', __FILE__)
set :public_dir, File.expand_path('../../../public', __FILE__)
get '/' do
erb :index
end
end
Run Code Online (Sandbox Code Playgroud)
投机/ spec_helper.rb
require 'rack/test'
# Also tried this
# Rack::Builder.parse_file(File.expand_path('../../config.ru', __FILE__))
require File.expand_path '../../app.rb', …Run Code Online (Sandbox Code Playgroud)