@Test
public void testCopyFile07() throws Exception {

    // 引数の設定
    String classFileName = this.getClass().getSimpleName() + ".class";
    URL url = this.getClass().getResource(classFileName);
    String directoryPath = url.getPath().substring(0,
            url.getPath().length() - classFileName.length());
    String srcFile = directoryPath + "testCopyFile07_src.txt";
    String newFile = directoryPath + "testCopyFile07_new.txt";
    // 前提条件の設定
    Field field = FileUtility.class.getDeclaredField("checkFileExist");
    field.setAccessible(true);
    field.set(FileUtility.class, true);        
    // テスト対象ファイルを初期化する。
    File testSrcFile = new File(srcFile);
    testSrcFile.delete();
    testSrcFile.createNewFile();
    File testNewFile = new File(newFile);
    testNewFile.delete();
    testNewFile.createNewFile();
    final IOException exception = new IOException("testCopyFile07例外");
    FileOutputStream fos = Mockito.mock(FileOutputStream.class, Mockito.RETURNS_MOCKS);
    Mockito.doThrow(exception).when(fos).close();
    PowerMockito.spy(FileOutputStream.class);
    PowerMockito.whenNew(FileOutputStream.class).withArguments(testNewFile, true).thenReturn(fos);
    FileWriter testSrcFileFileWriter = null;
    FileWriter testNewFileFileWriter = null;
    BufferedReader postReader = null;
    try {
        testSrcFileFileWriter = new FileWriter(testSrcFile);
        testSrcFileFileWriter.write("testCopyFile07_src.txtデータ");
        testSrcFileFileWriter.flush();
        testSrcFileFileWriter.close();
        testNewFileFileWriter = new FileWriter(testNewFile);
        testNewFileFileWriter.write("testCopyFile07_new.txtデータ");
        testNewFileFileWriter.flush();
        testNewFileFileWriter.close();
        PowerMockito.mockStatic(FileUtility.class, Mockito.CALLS_REAL_METHODS);
        // テスト実施
        FileUtility.copyFile(srcFile, newFile);
        // 返却値なし
        // 状態変化の確認
        PowerMockito.verifyPrivate(FileUtility.class, Mockito.times(2)).invoke("checkAbsolutePath", Mockito.anyString());
        PowerMockito.verifyPrivate(FileUtility.class).invoke("checkAbsolutePath", srcFile);
        PowerMockito.verifyPrivate(FileUtility.class).invoke("checkAbsolutePath", newFile);
        // コピー先のファイル内容確認
        // ファイルクローズ時IOException発生確認の為、FileOutputStreamをモック化している。
        // ここでは出力されない。
        //File getFile = new File(newFile);
        //UTUtil.assertEqualsFile(testSrcFile, getFile);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (testSrcFileFileWriter != null) {
            testSrcFileFileWriter.close();
        }
        if (testNewFileFileWriter != null) {
            testNewFileFileWriter.close();
        }
        if (postReader != null) {
            postReader.close();
        }
        // テスト後ファイルを削除
        File file = new File(srcFile);
        file.delete();
        file = new File(newFile);
        file.delete();
    }
}