Czy mogę zastosować limit czasu dla wszystkich testów w pakiecie
Czy w JUnit istnieje sposób na zdefiniowanie globalnego limitu czasu / limitu dla wszystkich testów zawartych w pakiecie.
Pozwólcie, że wyjaśnię to trochę.
Chcę wprowadzić zestaw testów junit do systemu kompilacji starszego projektu, który będzie uruchamiany na każdej kompilacji. Pakiet powinien składać się z szybko działających testów jednostkowych, ale projekt ma mieszany zestaw testów integracyjnych i jednostkowych w folderze źródłowym testów.
W związku z tym zamierzam wprowadzić centralny zestaw testów do testów jednostkowych, który zawiera tylko te testy, które mogą działać w określonym limicie czasu (każdy test indywidualnie).
Chcę egzekwować tę regułę, wprowadzając@Rule
adnotacja, jeśli to możliwe.
Próbowałem tego:
@RunWith(Suite.class)
@SuiteClasses({...})
public class FastTestSuite{
@Rule Timeout timeout = new Timeout(1);
}
ale to się nie sprawdziło. Wiem na pewno, że istnieją testy, które tun znacznie wolniej niż 1 milisekunda, ale żaden z testów nie powiódł się.