1

私はまだjunitを学んでおり、この問題のjunitテストケースを書く方法を知りたい. 私は emma プラグインを使用してカバレッジも実行しています。(文字列) パスと名前に値を設定した後はどうすればよいですか? @Testで

public static void createReport(final String path, final String name) throws IOException {
        File outDir = new File("Out");
        if (!outDir.exists()) {
            if (!outDir.mkdir()) {
            }
        }
}

また、パラメーターの値を設定した後に assertEquals を使用する必要がありますか?

4

2 に答える 2

2

代わりにoutDir.mkdirs()(フォルダーが存在しない場合はフォルダーを作成する) を使用すると、エマは行がテストでカバーされていないことについて不平を言うことはありません。

非常に徹底したい場合、コードをテストする方法は、意図的に欠落しているディレクトリでコードを実行し、作成されたことを確認することです。テストの一環として、出力フォルダーを削除します。

File outDir = new File("Out")

/* You will probably need something more complicated than
 * this (to delete the directory's contents first). I'd
 * suggest using FileUtils.deleteDirectory(dir) from
 * Apache Commons-IO.
 */
outDir.delete();

// Prove that it's not there
assertFalse(outDir.exists());

createReport(...);

// Prove that it has been created
assertTrue(outDir.exists());

または、そのオプションが使用可能な場合は、レポートを一時フォルダーに書き込みます。

于 2013-10-30T10:13:40.107 に答える