Rspec-core: Kann man bestimmte Beispiele ausschließen?

Erstellt am 4. Juni 2016  ·  5Kommentare  ·  Quelle: rspec/rspec-core

Hallo,

Ich habe ein paar Rubygems für GNU Guix gepackt, und gelegentlich möchte ich bestimmte Beispiele deaktivieren. Ich vermute das Gegenteil des rspec --example Flags. Dies ist nützlich, wenn zB bestimmte Tests bekannte Fehler sein könnten, da das automatisierte Build-System beim Ausführen der 'Check'-Phase einen Exit-Status von Null erfordert (um anzuzeigen, dass alle Tests erfolgreich waren).

Es gibt Workarounds, zB das Patchen der Testdateien, aber es würde das Leben einfacher machen, wenn wir rspec bitten könnten, dies für uns zu tun. Gibt es eine Möglichkeit, dies bereits zu tun, oder ist dieses Problem eine Funktionsanfrage?

Danke,
ben

Hilfreichster Kommentar

Ich denke, es wäre vernünftig, --exclude-example hinzuzufügen.

Alle 5 Kommentare

Vielleicht bin ich langsam, aber ich kann nicht sehen, wie einer dieser Links hilft. Vielleicht hilft ein Beispiel zur Klärung der Dinge. Wenn ich zum Beispiel diese Spezifikation habe:

$ cat ~/t/a.spec
require 'rspec'

class My
  def self.answer
    4
  end
end

RSpec.describe My, "#answer" do
  context 'good and bad' do
    it 'gives the right answer' do
      expect(My.answer).to eq 4
    end
    it 'gives the wrong answer' do
      expect(My.answer).to eq -1
    end
  end
end

Wie kann ich dann etwas ausführen, das Folgendes erreicht?

$ rspec ~/t/a.spec --exclude-example wrong

Ich suche nach einer Möglichkeit, die Spezifikationsdatei selbst nicht zu ändern.

Danke.

RSpec.describe "My#answer" do
  context 'good and bad' do
    it 'gives the right answer', type: :right do
      expect(My.answer).to eq 4
    end
    it 'gives the wrong answer', type: :wrong do
      expect(My.answer).to eq -1
    end
  end
end

$ rspec ~/t/a.spec --tag @right oder $ rspec ~/t/a.spec --tag ~@wrong

Sie haben type: wrong hinzugefügt. Entnehme ich Ihrer Antwort, dass es nicht möglich ist, etwas Ähnliches zu erreichen, ohne die Spezifikation zu ändern, wodurch dieses Problem zu einer Funktionsanforderung wird?

Ich denke, es wäre vernünftig, --exclude-example hinzuzufügen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen