0

StackOverflow コミュニティの皆様、こんにちは。

JUnitコマンドでサーバーを実行する必要があるこのテストがありmvn exec:java、テストを実行する前にディレクトリの内容を削除する必要があります。そうしないと、JUnitテストは失敗します。これらの手順をソース コードに含める方法はありますか?

エジェイ

4

4 に答える 4

2

最初のテストがターゲット ディレクトリのクリーンアップを開始する前に呼び出される JUnit の @BeforeClass 表記を使用する必要があります。不必要なコーディングを避けるために、commons-io ライブラリも使用する必要があります。

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.junit.BeforeClass;
import org.junit.Test;


public class DeleteDirectoryTest {
    private static final String DIRECTORY_PATH = "C:/TEMP";

    @BeforeClass
    public static void cleanUp() throws IOException {
        FileUtils.deleteDirectory(new File(DIRECTORY_PATH));
    }

    @Test
    public void doSomeTest() {
        // Test code goes here
   }
}
于 2012-07-27T20:31:38.623 に答える
1

ディレクトリの再帰的な削除を JUnit '@BeforeClass' init メソッドに配置できます。

于 2012-07-27T20:17:09.743 に答える
0
public static boolean emptyDir(File dir) {
    if (dir.isDirectory()) {
        String[] children = dir.list();
        for (int i=0; i<children.length; i++) {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) {
                return false;
            }
        }
    }
    return true;
}
于 2012-07-27T20:14:33.920 に答える
0

ProcessBuilderを使用して、Java アプリケーションからコマンドを実行できます

于 2012-07-27T20:22:21.693 に答える