Ruby 为什么rspec没有看到这些类方法?
如果我有ruby文件Ruby 为什么rspec没有看到这些类方法?,ruby,rspec,Ruby,Rspec,如果我有ruby文件maze.rb和 class Maze def self.x end def self.y end end 和一个带有 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
maze.rb
和
class Maze
def self.x
end
def self.y
end
end
和一个带有
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)迷宫具有x-y尺寸
失败/错误:预期(Maze.x)
期望nil计算为true
#./spec/maze_spec.rb:8:in'block(2层)in'
它正在工作
发生的情况是,类级方法没有执行任何操作,因此返回nil,而不是methodnotfound
。只需添加true
作为返回值即可解决此问题,即
def x
true
end