private void testFinished(ITestResult testResult) {
        try {
            ScenarioBase scenario = getScenario(testResult);
            scenario.finished();
        } catch (FailIfPassedException ex) {
            testResult.setStatus(ITestResult.FAILURE);
            testResult.setThrowable(ex);
            testResult.getTestContext().getPassedTests().removeResult(testResult);
            testResult.getTestContext().getFailedTests().addResult(testResult);
        } catch (Throwable throwable) {
            throw new RuntimeException(throwable);
        } finally {
            ScenarioHolder.get().removeScenarioOfCurrentThread();
        }
    }
TestNG Test listener to enable JGiven for a test class.
jgiven-testng/src/main/java/com/tngtech/jgiven/testng/ScenarioTestListener.java