【发布时间】:2011-03-16 13:18:54
【问题描述】:
所以我正在编写一些 rspec 测试,但我对自己缺乏对 Ruby 的理解感到很尴尬。
我的文件结构如下所示:
- GUI_Tests/Tests/test_spec.rb
- GUI_Tests/windows_gui.rb
- GUI_Tests/upload_tool.rb
当我为 test_spec.rb 文件运行规范时,我需要像这样包含 upload_tool 文件:
spec -r ../upload_tool -fs test_spec.rb
那么upload_tool需要windows_gui.rb,像这样:
require '../windows_gui'
我的问题是,为什么我必须参考相对于 test_spec.rb(需要 ../)而不是 upload_tool.rb 的 windows_gui.rb?这对我来说感觉不对,我会想在测试规范之外使用upload_tool.rb,这意味着每次都要改变需求。
显然我遗漏了一些东西,但如果我没有参考与测试规范相关的内容,我会收到一个未找到文件的错误。
很抱歉在这里如此无知,但我空手而归。任何想法表示赞赏。
BB
【问题讨论】:
-
别难过——我发现处理相对路径是 ruby 最烦人的事情之一。我已经把它列在what are the things you would like improved in the ruby language
-
2012 年 8 月 - 请注意,这篇文章已有两年历史了。大多数人现在都在 1.9.2 上。请参阅此帖子stackoverflow.com/questions/9345412/relative-file-path-in-rspec 以获得最佳解决方案(2012 年 2 月)
标签: ruby require ruby-1.8 ruby-1.8.7 ruby-1.9.1