@Test public void loadMetricsComponent_IgnoresMissingClasses() { ClassLoader classLoader = new ClassLoader() { @Override public Class<?> loadClass(String name) throws ClassNotFoundException { throw new ClassNotFoundException(); } }; assertThat(Metrics.loadMetricsComponent(classLoader).getClass().getName()) .isEqualTo("io.opencensus.metrics.MetricsComponent$NoopMetricsComponent"); }
@Test public void loadMetricsComponent_UsesProvidedClassLoader() { final RuntimeException toThrow = new RuntimeException("UseClassLoader"); thrown.expect(RuntimeException.class); thrown.expectMessage("UseClassLoader"); Metrics.loadMetricsComponent( new ClassLoader() { @Override public Class<?> loadClass(String name) { throw toThrow; } }); }