@Test
public void testStart05() throws Exception {

    doReturn(false).when(asyncBatchStopper).canStop();
    String[] args = new String[] {};
    BatchJobListResult result = new BatchJobListResult() {{
        setJobSequenceId("jobSequenceId");
    }};
    doReturn(result).when(jobControlFinder)
            .resolveBatchJobResult(args);
    doNothing().when(asyncJobLauncher).executeJob(anyString());
    IllegalStateException e = new IllegalStateException(
            "job execution failed.");
    doThrow(e).when(asyncJobLauncher).executeJob("jobSequenceId");
    AsyncJobOperatorImpl asyncJobOperator = new AsyncJobOperatorImpl(
            jobControlFinder, asyncJobLauncher, asyncBatchStopper);
    // テスト実行
    try {
        asyncJobOperator.start(new String[] {});
        fail();
    } catch (IllegalStateException ise) {
        assertThat(ise, is(e));
    }
    // シャットダウン処理が呼び出されていること。
    verify(asyncJobLauncher).shutdown();
}