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 theOpenTelemetrySdk
for testing, resetting state between tests. This rule cannot be used withClassRule
.> public class CoolTest { > {@literal @}Rule > public OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); > > private Tracer tracer; > > {@literal @}Before > public void setUp() { > tracer = otelTesting.getOpenTelemetry().getTracer("test"); > } > > {@literal @}Test > public void test() { > tracer.spanBuilder("name").startSpan().end(); > assertThat(otelTesting.getSpans()).containsExactly(expected); > } > }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
after()
protected void
before()
void
clearSpans()
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
getOpenTelemetry()
Returns theOpenTelemetrySdk
created by this extension.List<io.opentelemetry.sdk.trace.data.SpanData>
getSpans()
Returns all the exportedSpanData
so far.io.opentelemetry.sdk.trace.SdkTracerManagement
getTracerManagement()
Returns theSdkTracerManagement
created by this extension.
-
-
-
Method Detail
-
create
public static OpenTelemetryRule 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.
-
getTracerManagement
public io.opentelemetry.sdk.trace.SdkTracerManagement getTracerManagement()
Returns theSdkTracerManagement
created by this extension.
-
getSpans
public List<io.opentelemetry.sdk.trace.data.SpanData> 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
-
-