1

NetBeans で JUnit を使用して void メソッドをテストしようとしています。私のメソッドは double 変数の値を変更し、新しい変数の値を TextField に出力しています。これが私のメソッドです:

private void calcul(){

        if(operateur.equals("+")){
            chiffre1 = chiffre1 + Double.valueOf(ecran.getText()).doubleValue();
            ecran.setText(String.valueOf(chiffre1));
        }
        if(operateur.equals("-")){
            chiffre1 = chiffre1 - Double.valueOf(ecran.getText()).doubleValue();
            ecran.setText(String.valueOf(chiffre1));
        }          
        if(operateur.equals("*")){
            chiffre1 = chiffre1 * Double.valueOf(ecran.getText()).doubleValue();
            ecran.setText(String.valueOf(chiffre1));
        }     
        if(operateur.equals("/")){
            try{
                chiffre1 = chiffre1 / Double.valueOf(ecran.getText()).doubleValue();
                ecran.setText(String.valueOf(chiffre1));
            } catch(DivisionSurZeroException e) {
                ecran.setText("0");
            }
        }
    }

void メソッドをテストする方法について Google で調べましたが、コレクションのサイズを変更する void メソッドしか見つかりませんでした。

では、まずアイデアを教えてください。何から始めればいいのか本当にわかりません。

4

2 に答える 2

4

テストされたクラスの新しいエンティティを作成し、その後テストされた関数を呼び出す必要があります。後で、必要に応じて値が変更されたことを主張します。

TestedClass tested = new TestedClass();
tested.calcul();

assertEquals("val", tested.getVal());

ただし、あなたの例ではメソッドは非公開です。テストするには、 PowerMockを使用してみてください。

于 2013-04-19T12:02:32.350 に答える
1
  1. メソッドをいくつかの小さなメソッド (演算子ごとに 1 つ) に分割し、それらを個別にテストすることができます。

  2. メソッドをテストvoidすることは、戻り値を使用してメソッドをテストすることとそれほど違いはありません。

    1. 前提条件を設定する
    2. メソッドを実行する
    3. 事後条件を確認する

あなたの場合:

yourClass.setOperateur("+");
yourClass.setChiffre1(5);
yourClass.setEcran("7");

yourClass.calcul();

assertEquals("12", yourClass.getEcran());
于 2013-04-19T12:06:26.057 に答える