Mam kod inicjalizacyjny do korzystania z mojego API. Inicjalizacja może się nie powieść i chciałbym ją przetestować w teście NUnit.Testy zależą od powszechnie używanej funkcjonalności z NUnit
Po inicjalizacji można użyć interfejsu API. Testuję również API, ale wszystkie moje metody testowe będą używały tego samego, wspólnego kodu inicjalizacyjnego.
Co bym najlepiej jak jest, jeśli to zachowanie:
- Test inicjalizacji jest uruchamiany.
- Pozostałe testy są uruchamiane, jeśli [1] się powiedzie.
We wszystkich przypadkach, w których [1] się nie powiedzie, zostaną wykonane wszystkie inne testy. Ale cenną informacją jest to, że [1] się nie udaje. Właśnie tam najprawdopodobniej znajdę problem. Byłoby miło, gdyby inne testy mogły być oznaczone? lub coś, co wskazuje, że nie zostały wykonane, ponieważ zależą od nich funkcjonalności, które nie przeszły testów.
Wiem, że testy nie powinny być kruche. Ale nie mogę ominąć faktu, że kod inicjujący jest niezbędny do poprawnego wykonywania innych funkcji.
Jest to bardziej ogólny problem, gdy niektóre funkcje zależą od innych funkcji. Gdzie "inna funkcjonalność" jest zbyt często używana, aby zapewnić jakąkolwiek prawdziwą wartość, nieudawiąc wszystkich testów w zależności od tego. Byłoby lepiej, gdyby "inną funkcjonalność" testowano osobno.
+1. Moją pierwszą myślą było to, że istniejące testcases obejmujące twoją inicjalizację już działają. Tylko wtedy, gdy dokonasz refaktoryzacji kodu inicjalizacyjnego, będziesz musiał ponownie uruchomić te testery, aż znów staniesz się zielony. Moją drugą myślą było po prostu zamknąć się i spojrzeć na to, co inni wymyślą. Najprawdopodobniej to najlepszy pomysł, jaki miałem dzisiaj. –
Wszystkie przypadki testowe są uruchamiane na naszym serwerze budowania.Zestaw musi być w stanie działać jako całość, ponieważ trudno jest coś przeoczyć, jeśli wykonujesz testy, które Twoim zdaniem mają na ciebie wpływ. Są to testy integracyjne, więc więcej niż jedna klasa jest testowana na raz. – Deleted
dokładnie to, co miałem na myśli, ale nie byłem w stanie właściwie wyjaśnić. –