0

数値のリストを含むファイルの内容を読み取り、複製された数値を選択してコンソールに書き込む Java プログラムがあります。java.util をインポートします。; java.io をインポートします。;

public class ReadAFile {

public static void main(String[] args) {

    String list[] = new String[];

        FileInputStream fstream=new FileInputStream("C:/Users/Kevin/Desktop/testfile.txt");
    // Use DataInputStream to read binary NOT text.
        BufferedReader br=new BufferedReader(new InputStreamReader(fstream));

        String str,str1;
        int i=0;
        while((str=br.readLine())!=null){
            i++;
            str1=Integer.toString(i);
            if(lines.containsValue(str)){
                System.out.println(str);
        }
        in.close();

}
}
4

6 に答える 6

1

最初のステップは、コードをユニットごとに編成して、各ユニットをテストできるようにすることです。Java の世界では、このユニットはクラスのメソッドになります。したがって、最初のステップとして、「main」以外のメソッドでコードを記述します。

次に、作成したメソッドをテストするプログラムを作成します。そのようなプログラムの基本構造は次のようになります

1) テスト中のメソッドを実行するために必要なすべてのことを行います。2) メソッドを実行します。3) 出力を観察して、正しい結果が得られたかどうかを確認します。

JUnit は、事前に用意されたいくつかのメソッドを提供することで、このようなテストを簡単に作成できるようにする Java ライブラリです。

あなたは今、基本を持っています.残りは、彼らが言うように、ググることができます.

于 2013-10-16T12:08:21.757 に答える
1

本当に簡単なチュートリアルはmkyongからここにあります。ユニットテストを始めたとき、それは私にとって本当にうまくいきました。また、入出力操作のモックも便利です。

于 2013-10-16T12:10:47.280 に答える
0

プロジェクトにはすでに junit が含まれているため、単体テストのために次の構造を考える必要があります。

ここに画像の説明を入力

テストするクラスごとに、それをテストするための相関クラスがあるため、MathTestユニットテストMathクラスも

次に、コードを変更して、ファイルの読み取り用、InputStream の解析用、および showResults 用の 2 つのメソッドがあるとします。

これは私が使用するインターフェースですが、メソッド宣言を知るためだけに取ってください。

public interface MyCodeToBeTested {

    List<String> parseFile(final String path);

    void processLines(List<String>);
}

このインターフェースを という名前のクラスで実装するとしますImplementedClass

したがって、失敗を探している各メソッドをテストする Junit クラスを持つことができます。

import junit.framework.Assert;
import org.junit.Test;

public class Tester {

    @Test
    public void testReadFile() {
        ImplementedClass myclass = new ImplementedClass();
        List<String> lines = myclass.parseFile("mytestfile1.txt");
        Assert.assertEquals(3, lines.size());
        Assert.assertEquals("this is the first line of the file", lines.get(0));
    }

}

このテストでは、ファイルの解析が正常に機能することを確認します。単体テストによって読み取りファイルに自信が持てたら、ファイルを気にせずに processLines メソッドのテストに進むことができます。

    @Test
    public void testProcess() {
        ImplementedClass myclass = new ImplementedClass();
        List<String> lines = initializeLines();//initialize your lines
        myclass.processLines(lines);
        //Assert here myclass results
    }
于 2013-10-16T12:22:04.967 に答える