ich einen benutzerdefinierten Matcher in RSpec habe, die Whitespaces/Zeilenumbrüche ignoriert, und nur Spiele Inhalt:RSpec benutzerdefinierte diffable Matcher
RSpec::Matchers.define :be_matching_content do |expected|
match do |actual|
actual.gsub(/\s/,'').should == expected.gsub(/\s/,'')
end
diffable
end
ich es wie folgt verwenden:
body = " some data \n more data"
body.should be_matching_content("some data\nmore wrong data")
Wenn jedoch ein Test fehlschlägt (wie die oben), sieht die Ausgabe von diff nicht gut:
-some data
-more wrong data
+ some data
+ more data
Ist es möglich, den diffable Ausgang zu konfigurieren ? Die erste Zeile some data
ist richtig, aber die zweite more wrong data
ist falsch. Es wäre sehr nützlich, nur die zweite Zeile als Hauptursache des Fehlers zu bekommen.
Hinweis: Dies ist nur in den rspec docs erwähnt bei ab Version 3.4. Gemäß den Dokumenten benötigen Sie auch nicht den 'attr_reader', wenn Sie' @ actual' als Instanzvariablennamen verwenden. –