Использование IHookable
, как описано в предыдущем ответе, является хорошим способом для имитации полной отмены набора тестов, пропуская все следующие методы. Однако он не уведомляется (и, следовательно, не отменяет) методы конфигурации (например, методы, отмеченные @BeforeClass
и @BeforeMethod
), и часто именно здесь происходит реальная обработка.
Чтобы справиться с этим, вы можете заменить IHookable
на IInvokedMethodListener , чей метод beforeInvocation
также будет запускаться для методов конфигурации. Если вы хотите отменить остальные тестовые выполнения, выведите SkipException каждый раз, когда вызывается beforeInvocation
.
В моем случае это успешно отменило всю дальнейшую обработку без каких-либо предположений о структуре теста.