I 3 Projekte in meiner Visual Studio-Lösung habe: 1 Anzahl der gemeinsamen Bibliotheksprojekt, 1 Unit-Test-Projekt (meist Selen WebDriver Tests) und 1 codiertes UI-Test-Projekt (ich hatte eine harte Zeit, die Kombination von Meine Unit testet und codiert UI-Tests in 1 Projekt - so haben wir 2). Ich habe eine statische Klasse mit einer statischen Eigenschaft im gemeinsam genutzten Bibliotheksprojekt namens Globals.Status.statischer Variable für Tests in verschiedenen Testprojekten
Ich habe einen Testfall, wo es Arbeit sowohl in einer broswer (die Selenium Unit-Test) und eine Desktop-Anwendung (der codierte UI-Test) durchgeführt erfordert. Der Selenium Unit Test ändert diese statische Statusvariable. Der codierte UI-Test (im codierten UI-Projekt) muss diese aktualisierte Statusvariable lesen. Wenn ich diese zwei Tests nacheinander ausführe, ist die Variable NULL, wenn der Test der codierten UI aufgerufen wird.
Ich habe den Test der codierten UI Projekt sowohl das Shared Library-Projekt und das Unit-Test-Projekt verweisen, aber offenbar ist dies nicht genug. Was muss ich tun, damit dies funktioniert?
Vielen Dank für einen Einblick!
Tests sollten so geschrieben werden, dass sie nicht von anderen Tests abhängig sind, die eine Aktion ausführen. Sie sollten in der Lage sein, jeden einzelnen Test in Ihrer Suite auszuwählen, auszuführen und sich korrekt zu verhalten. Wenn das nicht möglich ist, sollten Sie das Design Ihrer Testsuite überdenken. – Kevin
Ich verstehe dieses Konzept. Ja, idealerweise würde ich beide Tests in 1 Test kombinieren. Leider, wie gesagt, fiel es mir schwer, sowohl Selenium WebDriver als auch Coded UI Testcode in dasselbe Projekt zu schreiben. Dieser spezielle Funktionstest erfordert etwas Arbeit in einem Webbrowser (daher Selenium) und einige andere Arbeiten danach in einer Desktop-App (daher Coded UI). – AngieM