为什么rspec没有看到这些类方法?

时间:2014-04-20 13:42:03

标签: ruby rspec

如果我有

的ruby文件maze.rb
class Maze
  def self.x
  end 
  def self.y
  end 
end

和带有

的rspec文件
require 'maze'

describe "A Maze" do
  it "exists" do
    expect(Maze).to be
  end 
  it " has x-y dimension" do
    expect(Maze.x).to be
    expect(Maze.y).to be
  end 
end

为什么Maze.x的测试失败?

故障:

1) A Maze  has x-y dimension
   Failure/Error: expect(Maze.x).to be
     expected nil to evaluate to true
   # ./spec/maze_spec.rb:8:in `block (2 levels) in <top (required)>'

1 个答案:

答案 0 :(得分:0)

它正在发挥作用。

发生的事情是,班级方法没有做任何事情,因此返回nil - 而不是method not found。只需添加true作为返回值即可解决此问题,即

def x
  true
end
相关问题