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));
}
}
答案 0 :(得分:6)
原因有点微妙。将代码更改为以下以获得绿色条。
public void testGetSum()
在Junit 3中,测试方法应以test
开头,并为public
如果可能的话,我会建议您继续使用Junit 4,但不会施加此类限制。
使用@Test
,@Before
和@After
之类的注释,您的代码将更加简单易读。
同样将sum
传递给方法,然后重新计算它看起来多余。坚持在getSum
方法中计算它。
答案 1 :(得分:3)
您没有任何名称以“test”开头的方法。您可以在MyCalculatorTest类中将“getSum”方法重命名为“testGetSum”。
答案 2 :(得分: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));
}
请注意,在方法前面没有test
的eclipse报告的错误是没有检测到测试类。