2011-04-02 107 views
0

这里是多项式如何编写一个junit测试用例添加方法?

public Polynomilal add (Polynomial poly){ 

//getA()..etc getters for the coefficients of the polynomial. 

    MyDouble aVal=getA().add(poly.getA()); 
    MyDouble bVal=getB().add(poly.getB()); 
    MyDouble cVal=getC().add(poly.getC()); 
    Polynomial addedPoly=new Polynomial(aVal, bVal, cVal); 
    return addedPoly; 
} 

add方法和测试用例add方法始于

public void testAdd() { 
........ 
........ 

} 
+1

你的问题具体是什么?你不知道如何使用JUnit进行测试,或者不知道要测试什么行为或者如何测试add的行为? – 2011-04-02 23:55:24

回答

2

这里的一些基础知识...

单位的总体思路测试是比较“你想要什么”和“你得到什么”。一个简单的说法就是像

assertEquals("it better work!", 4 /* expected */, 2 + 2); 

如果你知道AVAL应该是什么,你可以做

assertEquals("aVal should be this", <what you expecte it to be>, aVal); 

有一个特殊的细节为“双”的价值观,因为四舍五入导致他们往往是不完全是你期待,所以你说:

assertEquals("some double value", 1.555555d, 1.0d + 5.0d/9.0d, .001); // within .001? ok! 

无论如何,这是单元测试的要点。你可以看到的东西的断言。非常方便的东西。

(的assertEquals,和朋友,都是静态访问从测试用例,其中大部分单元测试的下降。)

0

由于除了大卫的回答,我建议你使用自定义的断言模式描述here。另外,我会考虑使用here所述的输入数据和预期数据的参数化测试,并使用一些JUnit特定示例,如the following

希望这会有所帮助!