首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3.1 RC5可安装引擎测试

Rails 3.1 RC5可安装引擎测试
EN

Stack Overflow用户
提问于 2011-08-15 23:58:39
回答 1查看 618关注 0票数 4

我已经能够让RSpec、Cucumber和Autotest在Rails 3.1可安装引擎上工作。事情变糟的地方是试图把斯波克融入其中。Spork运行良好,而且我的测试使用了Spork,但我遇到的问题是,除非我将Spork服务器的效率降低,否则它不会重新加载模型。我也在使用factory_girl。我尝试了各种使用方法的方法,但是没有什么效果。

下面是我正在使用的宝石(尽管我已经在我的项目中放弃了Spork,因为它给我带来了痛苦):

  • rails (3.1.0.rc5)
  • 猪肉(0.9.0.rc9)
  • rspec (2.6.0)
  • rspec-核心(2.6.4)
  • rspec-预期(2.6.0)
  • rspec-模拟(2.6.0)
  • rspec-rails (2.6.1)
  • factory_girl (2.0.3)
  • factory_girl_rails (1.1.0)
  • 黄瓜(1.0.2)
  • 黄瓜-栏杆(1.0.2)

谢谢,

-Damien

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 00:37:55

我解决了我的问题。实际上是自动测试而不是斯波克。我已经从一个可安装引擎转移到一个标准引擎(插件),因为它最终是一个更适合我所需要的。

我现在使用的是Rails 3.1的发布版本。

在这种情况下,我认为事情会更容易,但我遇到了同样的问题。无论如何,这最终是测试一个非名称空间引擎(挂载)的修复,尽管通过一些路径调整,我相信它会工作的。

使用以下内容将.autotest文件添加到项目的根目录中:

代码语言:javascript
复制
Autotest.add_hook :initialize do |at|
  at.add_mapping %r%^app/models/(.*)\.rb$% do |_, m|
    "spec/models/#{m[1]}_spec.rb"
  end

  at.add_mapping %r%^app/controllers/(.*)\.rb$% do |_, m|
    ["spec/controllers/#{m[1]}_spec.rb",
    "spec/functional/#{m[1]}_spec.rb"]
  end

  at.add_mapping %r%^app/helpers/(.*)_helper.rb% do |_, m|
    ["spec/views/#{m[1]}_view_spec.rb",
    "spec/functional/#{m[1]}_controller_spec.rb"]
  end

  at.add_mapping %r%^app/views/(.*)/% do |_, m|
    ["spec/views/#{m[1]}_view_spec.rb",
    "spec/functional/#{m[1]}_controller_spec.rb"]
  end
end

当我在另一个问题上遇到这个答案时,我想出了一个解决方案:如何告知自动测试以正确跟踪应用程序源中的更改?,以及在网络上找到的其他例子。

希望这能帮到别人。

编辑2011-09-20修复了黄瓜/猪肉问题的“黑客”。在Spork.each_run块中,我强制重新加载模型和控制器,如下所示:

代码语言:javascript
复制
  ENGINE_ROOT=File.join(File.dirname(__FILE__), '../../')
  # Couldn't get spork to reload models, hence the reason for this hack
  Dir[File.join(ENGINE_ROOT, "app/models/*.rb")].each {|f| load f }
  # or controllers...
  Dir[File.join(ENGINE_ROOT, "app/controllers/*.rb")].each {|f| load f }

看来应该有更好的办法..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7072145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档