Ja, es ist möglich, aber die Syntax, die Sie verwenden möchten (überall mit Leerzeichen) have(:name)
und eq('John')
sind alle Argumente auf die Methode angewendet should
. Sie müssten diese also vorbestimmen, was nicht Ihr Ziel sein kann. Das heißt, Sie können verwenden RSPEC Custom Matcher Ein ähnliches Ziel zu erreichen:
require 'rspec/expectations'
RSpec::Matchers.define :have do |meth, expected|
match do |actual|
actual.send(meth) == expected
end
end
Dies gibt Ihnen die folgende Syntax:
it { should have(:name, 'John') }
Sie können auch verwenden its
its(:name){ should eq('John') }