所以我正在写一些rspec测试,我很尴尬,因为我缺乏对Ruby的理解。红宝石需要'文件'和相对位置
我有一个文件结构如下所示:
- GUI_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'
我的问题是,为什么让我不得不引用相对windows_gui.rb到test_spec.rb(需要../),而不是upload_tool.rb?这对我来说是错误的,我想要在测试规范的背景下使用upload_tool.rb,这意味着每次都需要更改。
显然我错过了一些东西,但如果我没有引用相对于测试规范,我得到一个文件未找到错误。
对不起,在这里很无知,但我空手而来。任何想法赞赏。
BB
不要感觉不好 - 我觉得处理相对路径是关于ruby最讨厌的事情之一。我已经列出它[你想在红宝石语言中改进的东西](http://stackoverflow.com/questions/585457/what-are-the-things-you-would-like-improved-in -ruby-language/3261063#3261063) – 2010-07-16 00:24:41
2012年8月 - 请注意,这篇文章现在已经两岁了。现在大多数人都在1.9.2上。看到这篇文章http://stackoverflow.com/questions/9345412/relative-file-path-in-rspec也为最好的解决方案(2012年2月) – 2012-08-26 14:20:59