@Test public void callTimedStaticMethodsOnce() { // Call the timed methods and assert they've all been timed once TimedStaticMethodWithVisibilityModifiers.publicTimedStaticMethod(); TimedStaticMethodWithVisibilityModifiers.protectedTimedStaticMethod(); TimedStaticMethodWithVisibilityModifiers.packagePrivateTimedStaticMethod(); staticMethod("privateTimedStaticMethod").in(TimedStaticMethodWithVisibilityModifiers.class).invoke(); assertThat("Shared metric registry is not created", SharedMetricRegistries.names(), hasItem(REGISTRY_NAME)); MetricRegistry registry = SharedMetricRegistries.getOrCreate(REGISTRY_NAME); assertThat("Timers are not registered correctly", registry.getTimers().keySet(), is(equalTo(absoluteMetricNames()))); assertThat("Timer counts are incorrect", registry.getTimers().values(), everyItem(Matchers.<Timer>hasProperty("count", equalTo(1L)))); } }