2016-07-11 11 views
1

Ich habe schon eine Weile mit diesem stecken zu laufen, ich habe die Suche, aber ich kann mein Code nicht herausfinden, warum nicht ...Nicht in der Lage db aufzufüllen Gurken Szenarien

funktioniert Ich bin lernen Gurke, und ich muss die db auffüllen, um die Szenarien zu laufen.

Dies sind die Anweisungen:

(...) Sie werden einen Schritt Definition erstellen, die den Schritt Given the following movies exist im Background Abschnitt sowohl sort_movie_list.feature und filter_movie_list.feature übereinstimmen. (Später in Verlauf werden wir zeigen, wie die wiederholten Background Abschnitte in den beiden Feature-Dateien auszutrocknen.)

Fügen Sie Ihren Code in der movie_steps.rb Schritt Definitionsdatei. Sie können nur ActiveRecord Anrufe verwenden, um Filme direkt zur Datenbank hinzuzufügen; ist es OK, die mit der Erstellung neuer Filme verbundene GUI zu umgehen, da das nicht ist, was diese Szenarien testen.

Dies ist eine der *.feature Datei

Features: Anzeige Liste von Filmen durch MPAA gefiltert

As a concerned parent 
    So that I can quickly browse movies appropriate for my family 
    I want to see movies matching only certain MPAA ratings 

Background: movies have been added to database 

    Given the following movies exist: 
    | title     | rating | release_date | 
    | Aladdin     | G  | 25-Nov-1992 | 
    | The Terminator   | R  | 26-Oct-1984 | 
    | When Harry Met Sally | R  | 21-Jul-1989 | 
    | The Help    | PG-13 | 10-Aug-2011 | 
    | Chocolat    | PG-13 | 5-Jan-2001 | 
    | Amelie     | R  | 25-Apr-2001 | 
    | 2001: A Space Odyssey | G  | 6-Apr-1968 | 
    | The Incredibles   | PG  | 5-Nov-2004 | 
    | Raiders of the Lost Ark | PG  | 12-Jun-1981 | 
    | Chicken Run    | G  | 21-Jun-2000 | 

Das ist also mein Code aus *_steps.rb:

Given /the following movies exist/ do |movies_table| 
    movies_table.hashes.each do |movie| 
    Movie.create!(movie) 
    end 
    fail "Unimplemented" 
end 

Und das ist der Fehler, den ich bekomme:

Background: movies have been added to database # features/sort_movie_list.feature:7 
    Given the following movies exist:   # features/step_definitions/movie_steps.rb:3 
     | title     | rating | release_date | 
     | Aladdin     | G  | 25-Nov-1992 | 
     | The Terminator   | R  | 26-Oct-1984 | 
     | When Harry Met Sally | R  | 21-Jul-1989 | 
     | The Help    | PG-13 | 10-Aug-2011 | 
     | Chocolat    | PG-13 | 5-Jan-2001 | 
     | Amelie     | R  | 25-Apr-2001 | 
     | 2001: A Space Odyssey | G  | 6-Apr-1968 | 
     | The Incredibles   | PG  | 5-Nov-2004 | 
     | Raiders of the Lost Ark | PG  | 12-Jun-1981 | 
     | Chicken Run    | G  | 21-Jun-2000 | 
     Unimplemented (RuntimeError) 
     ./features/step_definitions/movie_steps.rb:7:in `/the following movies exist/' 
     features/sort_movie_list.feature:9:in `Given the following movies exist:' 

Ich habe versucht movie = Movie.create!, Movie.create!(movie), Movie.create! movie, movie = Movie.create! (dieser letzte nur für pure Verzweiflung) ... Was mache ich falsch ??

Danke in fortgeschrittenem :)

+1

Mein Geld ist auf Doppelpunkt (':'), die Sie in Ihrer Regex verpasst haben. –

+0

Was Regex? 'Film' ist eine Variable, die einen Hash repräsentiert. – cerealCode

+0

Sie haben den Schritt" Gegeben die folgenden Filme existieren: "und dann versuchen Sie, es mit" Gegeben/die folgenden Filme existieren/do | movies_table | "zu verbinden. Wo ist das ':' im regulären Ausdruck, mit dem Sie die Schrittdefinition abgleichen? –

Antwort

0

Sieht gut aus für mich.

Sie iterieren über die Filme und dann kurz vor der end Sie tun fail "Unimplemented". Was würdest du erwarten?

+0

Vielen Dank Du, es ist das erste Mal, dass ich Gurke benutze und ich sehe "scheitern". Da der Code gegeben wurde und ich dachte, ich sollte in den Block schreiben, nahm ich an, dass "scheitern" da war, aus dem Grund werde ich irgendwann lernen. – cerealCode

+0

This ' fail "gibt an, dass das Feature noch nicht bereit ist, denke ich –