2016-03-24 9 views
16

Sto cercando di eseguire uno specifico scenario Behat dalla riga di comando, ecco quello che sto facendo:Come faccio a eseguire una specifica Behat scenario

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

Tuttavia questo non è in ripresa dello scenario.

Se corro

bin/behat features/features/baseline.feature 

posso ottenere l'intero file funzione per l'esecuzione.

Ecco ciò che il file sembra - lo scenario che sto cercando di eseguire è in linea 3 nel mio editor di testo:

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" 

risposta

23

Prima di tutto si dovrebbe aggiungere l'intera descrizione del file funzione, come:

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

E Scenario dovrebbe ha anche una descrizione.

È possibile eseguire Behat scenari utilizzando i tag:

bin/behat --tags @api 

pratica ogni Scenario potrebbe è proprio tag. Il comando Behat tenterà di trovare tutti gli scenari con quel tag @api.

Inoltre è possibile specificare tag per il file intero Caratteristica:

@whole-feature-file 
Feature: Home page functionality 

Esegui Scenario utilizzando parte del nome:

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

O secondo le @greggles commentare:

Specificare il nome del file di caratteristiche e il numero di riga, ad es

bin/behat features/file.feature:123 

dove 123 è il numero di riga della linea come Scenario: Clear cache

Per maggiori dettagli vedi behat docs

+5

Non sono sicuro se questo è un nuova opzione disponibile, ma è anche possibile specificare il nome del file funzione e il numero di riga, ad es 'bin/behat features/file.feature: 123' dove 123 è il numero di riga della riga come' Scenario: Clear cache'. – greggles

+0

È possibile persino eseguire test su un intervallo di linee, come spiegato in 'bin/behat --help':' * .funzione: 10- * ',' * .funzione: 10-20' – Gregoire

0

trovo che devo usare il percorso completo del file funzione solo durante l'esecuzione di una specifica scenario. Ad esempio, se il file caratteristica era in/var/www/html/test/caratteristiche/funzioni, e la vostra in/var/www/html/test quindi provare questo comando:

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