thoughtbot/shoulda-matchers · GitHub は面倒臭いValidationなどのテストをお手軽に書ける素敵Gem。

許容文字列のチェックも簡単。

it { should allow_value('http://foo.com', 'http://bar.com/baz').for(:website_url) }

ただ、同じノリで以下のように書くとハマる。
'fiz'しかチェックされない)

it { should_not allow_value('fiz', 'buz', 'bar').for(:website_url) }

正しくはこう。

it { should_not allow_value('fiz').for(:website_url) }
it { should_not allow_value('buz').for(:website_url) }
it { should_not allow_value('bar').for(:website_url) }

shoulda-matchers/allow_value_matcher.rb at master · thoughtbot/shoulda-matchers · GitHub
に書いてある。

ちゃんと読もう、自分…。