@Test
public void testChangeToEndStatus04() {

    // テスト入力データ設定
    TransactionStatus mockTran = mock(TransactionStatus.class);
    when(mockPlatformTransactionManager.getTransaction(any(
            DefaultTransactionDefinition.class))).thenReturn(mockTran);
    when(mockSystemDao.selectJob(any(BatchJobManagementParam.class)))
            .thenReturn(new BatchJobData() {
                {
                    setJobSequenceId("00000001");
                    setCurAppStatus(
                            JobStatusConstants.JOB_STATUS_EXECUTING);
                }
            });
    try {
        // テスト実行
        jobStatusChanger.changeToEndStatus("00000001", null);
        fail();
    } catch (Exception e) {
        // 結果検証
        assertTrue(e instanceof NullPointerException);
    }
    assertThat(logger.getLoggingEvents(), is(asList(info(
            "[IAL025023] Skipped processing of updating the job status. This transaction will be attempt to roll-back. jobSequenceId:00000001"))));
    verify(mockPlatformTransactionManager).rollback(mockTran);
}