Wie führe ich ein bestimmtes Behat-Szenario aus?

Lesezeit: 2 Minuten

Ich versuche, ein bestimmtes Behat-Szenario über die Befehlszeile auszuführen. Folgendes mache ich:

$ bin/behat features/features/baseline.feature:3

Dies entspricht jedoch nicht dem Szenario.

Wenn ich laufe

bin/behat features/features/baseline.feature

Ich kann die gesamte Feature-Datei zum Laufen bringen.

So sieht die Datei aus – das Szenario, das ich ausführen möchte, befindet sich in Zeile 3 meines Texteditors:

Feature:
  @api
  Scenario: Clear cache
    Given the cache has been cleared
    When I am on the homepage
    Then I should get a "200" HTTP response

  Scenario:
    Given I am not logged in
    When I am on the homepage
    Then I should see the text "We love our users"

Benutzer-Avatar
Igor Lantushenko

Zuerst sollten Sie die gesamte Beschreibung der Feature-Datei hinzufügen, wie zum Beispiel:

Feature: Home page functionality
  In order to use application functionality
  As a website user
  I need to be able see the home page

Und Scenario sollte auch eine Beschreibung haben.

Sie können Behat-Szenarien mit Tags ausführen:

bin/behat --tags @api

Im Grunde jeder Scenario könnte einen eigenen Tag haben. Der Behat-Befehl wird versuchen, alle Szenarien damit zu finden @api Schild.

Sie können auch ein Tag für die gesamte Feature-Datei angeben:

@whole-feature-file
Feature: Home page functionality

Führen Sie Szenario mit einem Teil des Namens aus:

bin/behat --name="element of feature"

Oder gemäß dem Kommentar von @greggles:

Geben Sie den Feature-Dateinamen und die Zeilennummer an, z

bin/behat features/file.feature:123 

wobei 123 die Zeilennummer der Zeile ist wie Scenario: Clear cache

Näheres siehe behat docs

  • Nicht sicher, ob dies eine neu verfügbare Option ist, aber es ist auch möglich, den Feature-Dateinamen und die Zeilennummer anzugeben, z bin/behat features/file.feature:123 wobei 123 die Zeilennummer der Zeile ist wie Scenario: Clear cache.

    – greggles

    30. Dezember 2016 um 21:32 Uhr

  • Sie können sogar Tests für eine Reihe von Linien starten, wie in erklärt bin/behat --help: *.feature:10-*, *.feature:10-20

    – Gregor

    26. Oktober 2017 um 15:21 Uhr


Sie haben herausgefunden, dass Sie beispielsweise ein Szenario einfach mit einem beliebigen benutzerdefinierten Tag taggen können @foobar.

Feature:
  @api @foobar
  Scenario: Clear cache
    Given the cache has been cleared
    When I am on the homepage
    Then I should get a "200" HTTP response

  Scenario:
    Given I am not logged in
    When I am on the homepage
    Then I should see the text "We love our users"

Und dann nur diese Szenarien laufen lassen mit:

behat --tags foobar

Ich finde, dass ich den vollständigen Pfad zur Feature-Datei nur verwenden muss, wenn ich ein bestimmtes Szenario ausführe. Wenn sich Ihre Feature-Datei beispielsweise in /var/www/html/tests/features/features und Ihre in /var/www/html/tests befand, versuchen Sie diesen Befehl:

bin/behat /var/www/html/tests/features/features/baseline.feature:3

1228140cookie-checkWie führe ich ein bestimmtes Behat-Szenario aus?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy