@Test void postSpans_sendErrorResponse400() throws IOException {
    zipkin.enqueueFailure(HttpFailure.sendErrorResponse(400, "Invalid Format"));

    try (Response response = postSpansV1(spans)) {
      assertThat(response.code()).isEqualTo(400);
      assertThat(response.body().string()).isEqualTo("Invalid Format");
    }

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

    // 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