Class OpenTelemetryRule
java.lang.Object
org.junit.rules.ExternalResource
io.opentelemetry.sdk.testing.junit4.OpenTelemetryRule
- All Implemented Interfaces:
org.junit.rules.TestRule
public final class OpenTelemetryRule
extends org.junit.rules.ExternalResource
A JUnit4 rule which sets up the
OpenTelemetrySdk
for testing, resetting state between
tests. This rule cannot be used with ClassRule
.
// public class CoolTest {
// @Rule
// public OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
//
// private Tracer tracer;
//
// @Before
// public void setUp() {
// tracer = otelTesting.getOpenTelemetry().getTracer("test");
// }
//
// @Test
// public void test() {
// tracer.spanBuilder("name").startSpan().end();
// assertThat(otelTesting.getSpans()).containsExactly(expected);
// }
// }
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
after()
protected void
before()
void
Clears the collected exportedSpanData
.static OpenTelemetryRule
create()
Returns aOpenTelemetryRule
with a default SDK initialized with an in-memory span exporter and W3C trace context propagation.io.opentelemetry.api.OpenTelemetry
Returns theOpenTelemetrySdk
created by this extension.List<io.opentelemetry.sdk.trace.data.SpanData>
getSpans()
Returns all the exportedSpanData
so far.Methods inherited from class org.junit.rules.ExternalResource
apply
-
Method Details
-
create
Returns aOpenTelemetryRule
with a default SDK initialized with an in-memory span exporter and W3C trace context propagation. -
getOpenTelemetry
public io.opentelemetry.api.OpenTelemetry getOpenTelemetry()Returns theOpenTelemetrySdk
created by this extension. -
getSpans
Returns all the exportedSpanData
so far. -
clearSpans
public void clearSpans()Clears the collected exportedSpanData
. Consider making your test smaller instead of manually clearing state using this method. -
before
protected void before()- Overrides:
before
in classorg.junit.rules.ExternalResource
-
after
protected void after()- Overrides:
after
in classorg.junit.rules.ExternalResource
-