Występuję z pewnym rozdrojem. Mamy przestarzały system, dla którego piszę Behat. Działa świetnie w większości przypadków. Ale zauważyłem problem, w którym testy Behat zakończyły się niepowodzeniem, jeśli dane, które testuję w stosunku do bieżącego środowiska, były przeznaczone do/wyciągnięte z innego środowiska.Czy w Behat można używać różnych danych kroku w zależności od aktualnego środowiska?
Na przykład, jeśli przetestuję funkcję wyszukiwania przez telefon w ramach kontroli jakości i oczekuję, że zwróci ona określony identyfikator podmiotu, nie mogę użyć tego samego numeru telefonu i identyfikatora jednostki do przetestowania w wersji RC lub Live. Dlatego chciałbym zarządzać sposobem na utrzymanie danych testowych dla każdego środowiska w Behat.
Wprowadzono tu kilka myśli, takich jak umieszczenie danych w profilu (wysoce niepożądane) lub tworzenie plików CSV dla każdej funkcji. Zastanawiam się również nad budowaniem wszystkich scenariuszy dotyczących danych przy użyciu tabel lub scenariuszy i mając kolumnę środowiska, która będzie używana do sprawdzania w stosunku do bieżącego środowiska i pomijania, gdy wiersz nie jest dla bieżącego środowiska. Może za pomocą tła lub innego haka, aby pomóc w tym.
Czy ktoś wie o dobrej drodze lub najlepszej praktyce radzenia sobie z wieloma środowiskami z różnymi zestawami danych w każdym z Behat?
Ta sytuacja jest zdecydowanie trudna. Podoba mi się pomysł znalezienia innego sposobu dostarczania danych dla środowiska poprzez wyciąganie z niektórych niestandardowych funkcji i określanie, ile połączeń ma wykonać. – pthurmond
Podejście, że tak jest, teraz jednak zaczęliśmy podważać użyteczność Behat dla ludzi QA, którzy nie są programistami. Najpierw jestem programistą, a druga osoba QA w tym przypadku (jako inżynier ds. Oprogramowania w testowaniu). Ale w przypadku dwóch innych osób zajmujących się QA w moim zespole, nie mogę oczekiwać, że będą znać SQL w tym momencie ani PHP. Chodzi o to, aby jak najprościej wprowadzić kroki i dane, a następnie móc zautomatyzować przeprowadzanie testów na serwerze bez GUI w tle. – pthurmond
Powiem to, zaczynamy od nowego projektu, który zastąpi obecny system. W trakcie tego staram się, aby dostarczyli nam metody, których potrzebujemy, aby wprowadzić dane do systemu w locie, a następnie przetestować i ostatecznie wycofać. Niestety minie rok lub więcej, zanim całkowicie przeniesiemy się do nowego systemu, który obecnie budujemy. – pthurmond