KermossTracer { @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void closeSpan(GtxSpanStarted gtxSpanStarted) { Span currentSpan = currentSpan(); log.info("Close current Span" + currentSpan); this.closeSpan(currentSpan); }  @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) void closeSpan(GtxSpanStarted gtxSpanStarted); @TransactionalEventListener(phase = TransactionPhase.AFTER_ROLLBACK) void closeSpanE(GtxSpanStarted gtxSpanStarted); Span startGtxSpan(String name, String gtx, String traceId, Span span); Span startGtxSpan(GlobalTransaction gt, Span span); Span startNestedSpan(String name, String event, Span span); void closeSpan(Span span); Span currentSpan();  }
@Test public void testCloseSpan() { final Span span = mock(Span.class); kermossTracerUnderTest.closeSpan(span); verify(mockTracer).close(same(span)); }