2016-08-08 7 views
0

Hallo an alle.Rails - Rspec: Kann ein Testfall in einem shared_example ausgeschlossen/entfernt werden?

Ich habe an einem Projekt gearbeitet und möchte die gemeinsame Beispielgruppe verwenden, um meinen RSpec-Test zu verwalten.

Zum Beispiel habe ich 2 Aktionen in meinem Controller.

class UsersController < ApplicationController 

    def show 
     #... 
    end 

    def inspect 
     #... 
    end 
end 

und ein shared_example:

shared_examples "test" do 

    #...some examples 

    it "raise an exception" do 
    # ... 
    end 
end 

Wenn jedoch wir nennen das "inspizieren", es wird eine Ausnahme nicht erhöhen und in Testfehler führen. Ist es möglich, dass ich den Testfall vorübergehend deaktivieren oder entfernen kann, wenn ich versuche, die Aktion "inspect" zu testen? (In dem realen Fall wurden die geteilten Beispiele von vielen verschiedenen Tests verwendet und nur einer hat ein unterschiedliches Verhalten.)

Tausend Dank.

Antwort

0

Sie sollten in der Lage sein, sie als broken zu markieren, d. H. Das Beispiel anhand eines Flags ausschließen. Sehen Sie mehr Info darüber here.

RSpec.configure do |c| 
    # declare an exclusion filter 
    c.filter_run_excluding :broken => true 
end 

versuchen, die Konfiguration in einem separaten Kontext erklären, wo Sie die Inspektion testen nur so, dass die Konfiguration nicht andere Beispiele nicht beeinflusst, die auch das gemeinsame Beispiel verwenden Sie haben.

Zum Beispiel:

it "raise an exception", :broken => true do 
    # this spec will not run 
    end 
+0

Alok, ich danke Ihnen sehr. Dies ist der richtige Weg. –

Verwandte Themen