0

rspecエラーをスローするはずのテストを実装するにはどうすればよいですか? 以下に、次のフィールド定義を持つクラスがあります

attr_accessor :name
attr_accessor :title
attr_writer :salary

そして以下はテストです。:name基本的に、とに新しい値を入力できるはずですが:title:salary(コンストラクターで) 1 回だけインスタンス化する必要があります。

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 に答える