2 Stimmen

RSpec - generische Fehlermeldung anstelle einer nützlichen Ausgabe

Dies ist mit RSpec2 - egal was passiert, scheine ich den folgenden Fehler zu erhalten, wenn eine Erwartung nicht übereinstimmt. Ich bin sicher (obwohl ich nicht für eine Weile versuchen kann) in Version 1 würde der folgende Code angeben, dass die Methode "Methoden" nicht aufgerufen wurde.

Der folgende Codeschnipsel zeigt dieses Problem - wenn die Methode in initialize unkommentiert bleibt, wird der Test bestanden. Entfernen Sie den Kommentar und die allgemeine Fehlermeldung wird zurückgegeben.

describe "Test" do
  it "should do" do
    my_mock = mock("my mock")
    my_mock.should_receive(:methods)
    obj = Shaun.new(my_mock)
  end
end

class Shaun
  def initialize(mock)
    #mock.methods
  end
end

Fehler

Failures:
  1) Test should do
C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_formatter.rb:138:in \`block in find\_failed\_line':
 undefined method \`downcase' for nil:NilClass (NoMethodError)
        from C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_formatter.rb:136:in \`each'
        from C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_formatter.rb:136:in \`detect'
        from C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_formatter.rb:136:in \`find\_failed\_li
ne'
        from C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_formatter.rb:122:in \`read\_failed\_li
ne'
        from C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base\_text\_formatter.rb:27:in \`block in d
ump\_failures'

1voto

Bitterzoet Punkte 2692

Funktioniert hier gut, mit rspec 2.0.1 und REE 1.8.7. Müssen wieder mit 1.9.2 überprüfen, wie ich es auf diesem System noch nicht haben.

als kommentiert:

Failures:
1) Test should do
   Failure/Error: my_mock.should_receive(:methods)
   (Mock "my mock").methods(any args)
       expected: 1 time
       received: 0 times
   # ./test_rspec.rb:4

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X