0

我将如何实施rspec应该引发错误的测试?下面我有一个具有以下字段定义的类

attr_accessor :name
attr_accessor :title
attr_writer :salary

下面是测试。基本上,您应该能够为:nameand输入新值:title,但:salary只能实例化一次且仅实例化一次(在构造函数中)。

it 'does not respong to :salary=' do
  (subject.salary=100).should raise_error
end

这是我第一次尝试通过此测试,但是我仍然收到错误

def :salary=(input)
  nil
end

错误信息:

def :salary=(input)
     ^
4

1 回答 1

1

用于对错误进行断言的 RSpec 语法(至少是最新版本)应该类似于:

it 'does not respond to :salary=' do
  expect { subject.salary = 100 }.to raise_error
end

您还会收到语法错误(不是所需的错误)。省略冒号。

def salary=(value)
end
于 2013-02-11T03:43:22.120 回答