Pracuję nad testami aplikacji internetowej napisanych w pythonie.Python nosetests pomiń niektóre testy
Załóżmy, że mam 5 testów w moim module test_login.py.
Każdy pojedynczy test jest klasą.
Istnieje często jeden, podstawowy test, który rozszerza klasę TestFlow, która jest naszą wstępnie zdefiniowaną klasą testową.
A następnie inne testy w tym module rozszerzają ten test podstawowy.
Na przykład:
#The base test
TestLogin(TestFlow):
#do login_test_stuff_here
#Another test in the same module
TestAccountDetails(TestLogin)
#do account_details_test_stuff_here
...
To rzeczywiście bardzo przydatny, ponieważ w celu przetestowania np AccountDetails użytkownik musi być zalogowany, więc mogę tylko dziedziczą z testu TestLogin i jestem gotowy, aby przetestować inne funkcje jako zalogowany użytkownik.
Wszystkie testy znajdują się w folderze Projekt/projekt/testy.
Używamy testów nosa z opcją - z pylonami do przeprowadzania testów.
Moje pytanie brzmi, czy istnieje sposób oznaczania niektórych testów jako "Nie testuj tego".
Ponieważ nie chcę tracić czasu na wykonywanie tych "testów podstawowych" bezpośrednio, ponieważ będą one wykonywane przez inne testy, które z nich pochodzą.
Będą prawdopodobnie tony tych testów i chcę zapisać każdą sekundę tam, gdzie jest to możliwe.
Ja już znalazłem coś podobnego Przejdź, SkipTest lub @nottest, ale te tylko pracy dla test_methods obrębie ceratin TestClass, więc nie sądzę, to będzie działać tutaj, zostały Mam jedną klasę dla każdego przypadek testowy.
Pamiętaj, że wyrażenie regularne nie jest jedyną bramką do włączenia - * nos również załaduje testy z podklas Unittest.TestCase *. Wydaje się, że robi to dla wszystkiego, co importuje. Mam test o nazwie 'FooMixin' w module o nazwie' foo_helpers.py', który jest traktowany jako test tylko dlatego, że pochodzi z 'unittest.TestCase'. –