diff --git a/src/main/java/com/zebrunner/agent/testng/adapter/TestNGAdapter.java b/src/main/java/com/zebrunner/agent/testng/adapter/TestNGAdapter.java index 0dfe9a6..4022962 100644 --- a/src/main/java/com/zebrunner/agent/testng/adapter/TestNGAdapter.java +++ b/src/main/java/com/zebrunner/agent/testng/adapter/TestNGAdapter.java @@ -133,7 +133,8 @@ private TestInvocationContext buildTestStartInvocationContext(ITestResult testRe } private void setZebrunnerTestIdOnRerun(ITestResult testResult, ITestNGMethod testMethod, TestStartDescriptor testStartDescriptor) { - if (RunContextHolder.isRerun()) { + // testMethod is not available for BeforeClass configuration method, so we just skip this logic in such case + if (RunContextHolder.isRerun() && testMethod != null) { ITestContext context = testResult.getTestContext(); Object[] parameters = testResult.getParameters(); diff --git a/src/main/java/com/zebrunner/agent/testng/listener/RetryService.java b/src/main/java/com/zebrunner/agent/testng/listener/RetryService.java index 7db8a0d..b0fa06f 100644 --- a/src/main/java/com/zebrunner/agent/testng/listener/RetryService.java +++ b/src/main/java/com/zebrunner/agent/testng/listener/RetryService.java @@ -90,6 +90,10 @@ private static RetryItemContext getOrInitRetryItemContext(ITestNGMethod method, } public static boolean isRetryFinished(ITestNGMethod method, ITestContext context) { + if (method == null) { + // method is not available for BeforeClass configuration method, so we just return true here + return true; + } return getRetryContext(context) .map(RetryContext::getRetryItemContexts) .map(retryItemContext -> retryItemContext.get(method.getParameterInvocationCount()))