Ruby TDD与Rspec(基本问题)

时间:2013-11-15 00:41:33

标签: ruby rspec tdd

我正在尝试使用Terminal和Sublime Text 3运行一个非常基本的测试。我的简单测试运行,但失败了(undefined local variable or method 'x'

我的文件夹层次结构如下所示:

enter image description here

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就是这样。

如果变量只是一个类的一部分,它是否只能被识别?每次运行测试时,我是否需要调用一个新课程?

1 个答案:

答案 0 :(得分:1)

来自docs

  

要求(姓名)→真或假

     

加载给定名称,如果成功则返回true,否则返回false   加载。

     

[剪断]

     

加载的源文件中的任何常量或全局变量都是   在调用程序的全局命名空间中可用。但是,本地   变量不会传播到加载环境。

您可以在所需文件中使用常量:

X = 5
...
X.should eql 5 # => passes

但你可能想在这里做一些完全不同的事情。也许你可以扩展这个问题并解释你想要实现的目标。