Sto scrivendo test di accettazione per un'applicazione web usando Behat / Mink.
Voglio conoscere le migliori pratiche per testare le stringhe nella GUI. Ad esempio: dire che voglio verificare che esista un collegamento sulla homepage alla schermata di accesso, cercando un collegamento con un testo, ad esempio "Accedi".
Voglio renderlo robusto; al momento, ad esempio, sto testando la presenza del link codificando il testo del link nello scenario:
Feature: Website Nagivation
To use the website
As a website visitor
The nagivation needs to work
Scenario: Check that the login link exists on the homepage
Given I am on "/"
Then I should see a link labelled "Log In"
Ovviamente questo è molto fragile. Se il testo del collegamento viene modificato in "Accedi", il test si interrompe. (Tra gli altri problemi, ad esempio se il sito è internazionalizzato, il problema sarebbe moltiplicato).
Quali strategie posso usare per questo? Ad esempio:
- Devo mantenere i dati DRY, quindi le stringhe utilizzate per popolare la GUI provengono dalla stessa posizione delle stringhe utilizzate per testare e fanno riferimento alla stringa con qualche identificatore univoco?
- Come è stato possibile renderlo più user-friendly per gli scrittori / lettori dei test di accettazione Gherkin / Behat?