JUnit =红色条,即使我的assertEquals是正确的

Fru*_*Now 2 java junit

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));
    }

}
Run Code Online (Sandbox Code Playgroud)

Aja*_*rge 6

原因有点微妙.将代码更改为以下以获得绿色条.

  public void testGetSum()
Run Code Online (Sandbox Code Playgroud)

在Junit 3中,测试方法应该从test和开始public

如果可能的话,我会建议你继续使用Junit 4,它不会施加这样的限制.

使用注释,比如@Test,@Before@After你的代码会更简单,更易于阅读.

传入sum该方法然后重新计算它看起来多余.坚持在你的getSum方法中计算它.