@Test void postSpans_disconnectDuringBody() throws IOException {
    zipkin.enqueueFailure(HttpFailure.disconnectDuringBody());

    try (Response response = postSpansV1(spans)) {
      failBecauseExceptionWasNotThrown(IOException.class);
    } catch (IOException expected) { // not always a ConnectException!
    }

    // Zipkin didn't store the spans, as they shouldn't have been readable, due to disconnect
    assertThat(zipkin.getTraces()).isEmpty();

    // create a new connection pool to avoid flakey tests
    client = new OkHttpClient();

    // The failure shouldn't affect later requests
    assertPostSpansV1Success(spans);
  }
Normally, a span can be reported twice: for client and server. However, there are bugs that
happened where several updates went to the same span id. {@link ZipkinExtension#collectorMetrics}
can be used to help ensure a span isn't reported more times than expected.
zipkin-junit5/src/test/java/zipkin2/junit5/ZipkinExtensionTest.java