Ich habe eine Klasse mit mehreren @ Test-Methoden mit jeweils unterschiedlicher Funktionalität.So führen Sie bedingte TestNG-Tests mit Daten aus Excel aus
Ich folge dem datengesteuerten Ansatz, wo ich die Daten in Excel habe. Jede Zeile in Excel-Tabelle entspricht einem anderen Testfall, der die Testmethoden in der obigen Klasse ausführen sollte.
Unten sind die Beispieldaten aus Excel-Tabelle, die den Methodennamen als einen der Parameter enthält (zB: test1, test2) und auch ein Flag, das bestimmt, ob der Fall zur Laufzeit oder nicht zur Laufzeit abgeholt werden soll : y, n)
case1 data1 data2 data3........test1 y
case2 data4 data5 data6........test1 y
case3 data7 data8 data9........test2 y
case4 data10 data11 data12........test1 n
Im Folgenden sind die Fragen, die ich habe:
- Wie die Fälle mit entsprechenden Prüfverfahren zur Karte
- Wie man laufen die spezifischen Fälle basiert auf der Flagge
Mein Verständnis ist, dass DataProvider- Anmerkung verwenden, ein Testverfahren mit unterschiedlichen Eingangsdaten ausgeführt werden können. Ich bin mir jedoch nicht sicher, wie man die Testmethoden mit entsprechenden Testdaten abbildet, wenn mehrere Testmethoden in einer einzelnen Klasse existieren.
Ich habe auch versucht, IAnnotationTransformer zu suchen, der verwendet werden kann, um das Laufzeitverhalten der Testmethode zu ändern, aber konnte keine Möglichkeit finden, die Flagdaten von Excel an die Transformatorklasse zu senden.
Vielen Dank im Voraus ..
Vielen Dank für die Zeit nehmen und die Beantwortung. :) Ich arbeitete an einer anderen Aufgabe, weshalb ich keine Chance hatte, den Ansatz zu versuchen. Allerdings habe ich dies kürzlich für ein Beispielszenario überprüft und die Tests werden ausgeführt. Es gibt noch eine Sache, die ich möchte geklärt werden .. Wenn ich die gleiche Testmethode mit anderen Datensätzen verifiziert, wird Bericht für die Methode nur für 1 Instanz generiert. Ich würde gerne wissen, ob es einen Weg gibt, so dass die Details für jede der Iterationen in dem generierten Standardbericht reflektiert werden. Wenn nicht, gibt es einen anderen besseren Ansatz? – user0450