Da die Program.Main
static
ist, ist Ihre CarList
wahrscheinlich auch statisch. NUnit führt Tests parallel aus, so dass jeder der Tests fast zur gleichen Zeit ausgeführt wird und jeder die Liste löscht und gleichzeitig hinzufügt.
Das ist der Grund, warum Ihre Tests gut laufen, aber wenn sie zusammen laufen. Man startet und beginnt mit dem Testen, dann kommt der zweite und ändert die Daten, mit denen der erste Test arbeitet.
Sie müssen die statische von allem in Program
mit Ausnahme der Haupt entfernen. Im Idealfall sollten Sie den gesamten Code Ihrer Fahrzeugliste in eine neue nicht statische Klasse umgestalten. Das Programm dient zum Ausführen Ihres Programms, es sollte nichts mit Autos zu tun haben. Sie sollten Ihre CarLot-Klasse (oder was auch immer) in Main erstellen und ausführen und keine Eigenschaften zu Program hinzufügen.
Eine weitere Option ist das Hinzufügen des Attributs [Parallelizable(ParallelScope.None)]
zu jeder Ihrer Testklassen. Dadurch werden sie einzeln ausgeführt. Dies wird das Problem mit Ihren Tests beheben, aber es repariert nicht die Tatsache, dass Ihr Code für mehr als eine einfache Übung falsch ist.
Nicht möglich ohne einen Blick auf Ihre Implementierung der Program() -Klasse. Es scheint, dass Sie statische geteilte Daten zwischen Ihren Instanzen haben – mrAtari
In der ** Gegebene ** IHaveAFullCarlot Methode der 'CarLotMaxSteps' Klasse nennen Sie' carLotMaxProgram.CarList.Clear(); '. Gibt es einen Grund dafür? Die Notwendigkeit, zu Beginn eines Tests etwas aufzuräumen, ist die Angabe der Abhängigkeiten zwischen den Tests. –
Das war das Problem HerrAtari! Danke. – CryptoJones