CompositeReporter implements Reporter { @Override public void start(TestBlock rootBlock) { reporters.forEach(r -> r.start(rootBlock)); } CompositeReporter(List<Reporter> reporters); @Override void start(TestBlock rootBlock); @Override void end(); @Override void testBlockStart(TestBlock testBlock, List<TestBlock> parents); @Override void testBlockEnd(TestBlock testBlock, List<TestBlock> parents); @Override void blockHookStart(Hook hook, List<TestBlock> parents); @Override void blockHookPass(Hook hook, List<TestBlock> parents); @Override void blockHookFail(Hook hook, List<TestBlock> parents, Throwable cause); @Override void testHookStart(Hook hook, List<TestBlock> hookParents, Test test, List<TestBlock> testParents); @Override void testHookPass(Hook hook, List<TestBlock> hookParents, Test test, List<TestBlock> testParents); @Override void testHookFail(Hook hook, List<TestBlock> hookParents, Test test, List<TestBlock> testParents,
            Throwable cause); @Override void hookFail(Hook hook, List<TestBlock> parents, Throwable cause); @Override void testStart(Test test, List<TestBlock> parents); @Override void testEnd(Test test, List<TestBlock> parents); @Override void testPass(Test test, List<TestBlock> parents); @Override void testFail(Test test, List<TestBlock> parents, Throwable cause); @Override void testPending(Test test, List<TestBlock> parents); @Override void testSkip(Test test, List<TestBlock> parents);  }
@Test public void shouldCallStart() { reporter.start(testBlock); order.verify(mockReporter1).start(testBlock); order.verify(mockReporter2).start(testBlock); }