如何实现应该抛出错误的rspec
测试?下面我有一个包含以下字段定义的类
attr_accessor :name
attr_accessor :title
attr_writer :salary
下面是测试。基本上,您应该能够为:name
和:title
输入新值,但:salary
应该只实例化一次,并且只能实例化一次(在构造函数中)。
it 'does not respong to :salary=' do
(subject.salary=100).should raise_error
end
这是我第一次尝试通过测试,但我仍然收到错误
def :salary=(input)
nil
end
错误消息:
def :salary=(input)
^
对错误进行断言的RSpec语法(至少是最新版本)应该类似于:
it 'does not respond to :salary=' do
expect { subject.salary = 100 }.to raise_error
end
您还会遇到语法错误(不是所需的错误)。省略冒号。
def salary=(value)
end