作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个通过 git 子模块共享相同模型(公共(public)网站和管理站点)的 Rails 项目。
在我的 application.rb
文件我添加了以下行:config.autoload_paths += ["shared/models", "shared/lib"]
,这在运行 Rails 应用程序时工作正常,但是当我尝试运行规范时,它似乎加载了 routes.rb
首先是文件,然后是 application.rb
文件 - 这意味着规范错误 - 特别是在设计时。
除此之外,Rspec 不会在共享/规范路径中获取规范 - 有没有办法将此路径添加到规范任务中,比如我是否需要设置自己的 rspec.rake 文件来复制任务或类似的东西?
干杯
最佳答案
要加载共享/模型,您必须将其添加到 config.autoload_paths。
然后从 shared/spec 加载您的规范,将其添加到 spec_helper.rb:
shared_model_specs = config.filename_pattern.split(",").collect do |pattern|
Dir["shared/spec/models/#{pattern.strip}"]
end.flatten
config.files_to_run.concat shared_model_specs
config.include RSpec::Rails::ModelExampleGroup, :type => :model, :example_group => {
:file_path => config.escaped_path(%w[spec shared models])
}
关于ruby-on-rails - 如何让 Rspec2 支持不同路径中的模型和规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954790/
我是一名优秀的程序员,十分优秀!