我正在尝试使用Terminal和Sublime Text 3运行一个非常基本的测试。我的简单测试运行,但失败了(undefined local variable or method 'x'
)
我的文件夹层次结构如下所示:
spec_helper.rb看起来像这样:
require_relative '../test'
require 'yaml'
test_spec.rb非常基本
require 'spec_helper.rb'
describe "testing ruby play" do
it "finds if x is equal to 5" do
x.should eql 5
end
end
我的test.rb文件有x = 5
就是这样。
如果变量只是一个类的一部分,它是否只能被识别?每次运行测试时,我是否需要调用一个新课程?
答案 0 :(得分:1)
来自docs
要求(姓名)→真或假
加载给定名称,如果成功则返回true,否则返回false 加载。
[剪断]
加载的源文件中的任何常量或全局变量都是 在调用程序的全局命名空间中可用。但是,本地 变量不会传播到加载环境。
您可以在所需文件中使用常量:
X = 5
...
X.should eql 5 # => passes
但你可能想在这里做一些完全不同的事情。也许你可以扩展这个问题并解释你想要实现的目标。