@Test public void loadTraceComponent_IgnoresMissingClasses() { ClassLoader classLoader = new ClassLoader() { @Override public Class<?> loadClass(String name) throws ClassNotFoundException { throw new ClassNotFoundException(); } }; assertThat(Tracing.loadTraceComponent(classLoader).getClass().getName()) .isEqualTo("io.opencensus.trace.TraceComponent$NoopTraceComponent"); }
@Test public void loadTraceComponent_UsesProvidedClassLoader() { final RuntimeException toThrow = new RuntimeException("UseClassLoader"); thrown.expect(RuntimeException.class); thrown.expectMessage("UseClassLoader"); Tracing.loadTraceComponent( new ClassLoader() { @Override public Class<?> loadClass(String name) { throw toThrow; } }); }