Frage

Ich schreibe ein paar Gurken Features für meine RoR app, die Datensätze in die Datenbank dann senden eine Anfrage an meine XML-API ein. Wegen der Art meiner Anfragen (fest codierten XML) Ich muss wissen, was die Identifikation einer Reihe sein wird. Hier ist mein Szenario:

Scenario: Client requests call info
  Given There is a call like:
    | id         | caller_phone_number |
    | 1          | 3103937123          |
  When I head over to call info
  And Post this XML:
    """
    <?xml version="1.0" encoding="UTF-8"?>
    <request-call-info>
      <project-code>1000000001</project-code>
    </request-call-info>
    """
  Then The call info should match
  And The status code should be 0

Ich habe Cuke eingerichtet mit meiner _test Datenbank, und ich habe auch bemerkt, dass es nicht all Tabellen ist das Zurücksetzen vor meinen Funktionen ausgeführt werden.

Was ist der richtige Weg, um dies einzurichten? Dank!

War es hilfreich?

Lösung

Zum einen, vergib mir, da dies ein bisschen ein Gehirn-Dump sein wird, aber hoffentlich sollte es helfen, oder zumindest geben Ihnen einige Ideen:

Sie könnten Ihr Szenario wie folgt umschreiben:

Scenario: Client requests call info
    Given There is a call with the phone number "3102320"
    When I post "request-call-info" xml to "call info" for the phone number "3102320"
    Then the call info for phone number "3102320" should match
        And the status code for phone number "3102320" should be 0

Auf diese Weise kann durch ein Attribut auf den Datensatz beziehen, die nicht der Primärschlüssel ist.

Sind Sie mit Objekten? Wenn ja, können Sie die ID für den Datensatz dort explizit.

Je nach Anwendung können Sie möglicherweise Ihre Tests laufen mit einer im Speicher sqlite3 Datenbank.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top