2
package dpackage;

public class MyCalculator {

    public int getSum(int a, int b, int sum) {
        sum = a+b;
        return sum;
    }

}

package dpackage;

import junit.framework.TestCase;

public class MyCalculatorTest extends TestCase {
    MyCalculator calc = new MyCalculator();

    protected void setUp() throws Exception {
        super.setUp();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }
    protected void getSum(){
        int a=2;
        int b=3;
        int sum = a+b;
        assertEquals(5, calc.getSum(a, b, sum));
    }

}
4

3 に答える 3

6

その理由は少し微妙です。コードを以下に変更して、緑色のバーを取得します。

  public void testGetSum()

JUnit 3では、テストメソッドはで始まりtestpublic

可能であれば、そのような制限を課さないJunit4に移行することをお勧めします。

@Test、などのアノテーションを使用する@Before@After、コードがはるかにシンプルで読みやすくなります。

また、メソッドに渡してsumから再計算するのは冗長に見えます。あなたの方法の中でそれを計算することに固執してくださいgetSum

于 2012-10-07T08:11:10.453 に答える
3

名前が「test」で始まるメソッドはありません。MyCalculatorTestクラスで「getSum」メソッドの名前を「testGetSum」に変更できます。

于 2012-10-07T08:11:22.350 に答える
2

この定義のポイントは何ですか?

public int getSum(int a, int b, int sum) {
    sum = a+b;
    return sum;
}

使用するだけです:

public int getSum(int a, int b) {
    return a + b;
}

public void testGetSum() { <-- note test in front
    int a=2;
    int b=3;
    assertEquals(5, calc.getSum(a, b));
}

メソッドの前にないeclipseによって報告されるエラーtestは、テストクラスが検出されないことであることに注意してください。

于 2012-10-07T08:05:05.660 に答える