Ich renne in ein bisschen ein Rätsel. Wir haben ein antiquiertes System, für das ich schreibe, für das Behat testet. Es funktioniert größtenteils gut. Aber ich habe ein Problem festgestellt, bei dem die Behat-Tests fehlschlagen, wenn die Daten, die ich für die aktuelle Umgebung testet, für eine andere Umgebung bestimmt sind.Ist es möglich, abhängig von der aktuellen Umgebung mit Behat unterschiedliche Schrittdaten zu verwenden?
Zum Beispiel, wenn ich eine Suche per Telefonfunktion in QA und erwarten, dass es eine bestimmte Entity-ID zurückgeben kann ich nicht die gleiche Telefonnummer und Entity-ID in RC oder Live zu testen. Daher möchte ich, dass die Testdaten für jede Umgebung in Behat übersichtlich verwaltet werden können.
Ein paar Gedanken wurden hier herumgeschleudert, wie das Einfügen der Daten in das Profil (höchst unerwünscht) oder das Erstellen von CSV-Dateien für jede Funktion. Ich denke auch darüber nach, alle datenspezifischen Szenarien mithilfe von Tabellen oder Szenariokonturen zu erstellen und eine Umgebungsspalte zu verwenden, die verwendet wird, um die aktuelle Umgebung zu überprüfen und zu überspringen, wenn die Zeile nicht für die aktuelle Umgebung bestimmt ist. Vielleicht mit einem Hintergrund oder einem anderen Haken, um damit zu helfen.
Kennt jemand einen guten Weg oder Best Practice für den Umgang mit mehreren Umgebungen mit verschiedenen Datensätzen in jedem mit Behat?
Ja, diese Situation ist definitiv schwierig. Mir gefällt die Idee, einen anderen Weg zu finden, um Daten für die Umgebung bereitzustellen, indem ich einige benutzerdefinierte Funktionen nutze und definiere, wie viele den Schrittanruf einleiten sollen. – pthurmond
Der Trick dabei ist, dass wir jetzt wirklich begonnen haben, die Nützlichkeit von Behat für QA-Leute, die keine Entwickler sind, zu erodieren. Ich bin zuerst Entwickler und dann QS-Person (Software-Ingenieur in Testing). Aber für die zwei anderen QA-Leute in meinem Team kann ich nicht wirklich erwarten, dass sie zu diesem Zeitpunkt SQL oder PHP kennen. Die Idee ist, es so einfach wie möglich zu machen, die Schritte und Daten einzugeben und dann die Ausführung der Tests auf einem GUI-losen Server im Hintergrund zu automatisieren. – pthurmond
Ich sage das, wir beginnen mit einem neuen Projekt, das das derzeitige System ersetzen wird. Währenddessen dränge ich stark auf sie, um uns die Methoden zu geben, die wir brauchen, um die Daten im laufenden Betrieb in das System zu injizieren, dann zu testen und schließlich wieder herauszuziehen. Leider wird es ein Jahr oder länger dauern, bis wir komplett auf das neue System umgestiegen sind, das wir gerade bauen. – pthurmond