Używamy cechy Spec w naszych testach w ScalaTest. kiedy uruchamiamy cały pakiet, nie zawsze działa on w tej samej kolejności. Większość odpowiedzi w google sugeruje określenie pakietu i określenie wszystkich nazw testowych. Wymaga to jednak dodania nazwy testu za każdym razem, gdy dodamy nowy test.Jak sprawić, aby testy zawsze działały w tej samej kolejności w Scalatest?
Czy można użyć samego DiscoverySuite i zdefiniować kolejność wykonywania testu? Wykonaj testy w kolejności alfabetycznej. Spojrzałem na rozszerzenie DiscoverySuite, ale DiscoverySuite wydaje się być prywatne do skalowania.
--- Więcej informacji ----
Zamawiając To znaczy, jeśli istnieją testy A, B, C.
class A extends Spec {..} class B extends Spec {..} class C extends Spec {..}
następnie chcę, aby uruchomić testy w celu (A, B, C). Ale teraz dzieje się tak, że za każdym razem działa w innej kolejności.
FWIW, testy powinny być zdefiniowane w taki sposób, aby kolejność wykonywania nie miała znaczenia. To sprawia, że poszczególne testy są bardziej odporne (zmiana testu A nie spowoduje przerwania testu B), łatwiejsze do zrozumienia (aby zrozumieć test A, wystarczy spojrzeć na test A) i niezależne (mogę przeprowadzić tylko te testy, których potrzebuję). – leedm777
Rozumiem i całkowicie zgadzam się, że testy powinny być zdefiniowane w taki sposób, aby zamówienie nie miało znaczenia. Ale niestety są to testy funkcjonalne (Webdriver) i jest ich wiele. Tak więc, jako pierwszy krok do ich naprawienia, chciałem, aby były uruchamiane w tej samej kolejności iw międzyczasie analizują, co to jest problem. –