0

これが多項式のaddメソッドです

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メソッドのテストケースは

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

}
4

2 に答える 2

2

ここにいくつかの基本があります...

単体テストの一般的な考え方は、「欲しいもの」と「得たもの」を比較することです。単純なアサーションは次のようなものです

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

aValがどうあるべきかを知っているなら、あなたはすることができます

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

「double」値には特別な詳細があります。これは、丸めによって値が期待どおりにならないことが多いため、次のように言います。

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

とにかく、それがユニットテストの要点です。あなたが見ることができるものの主張。とても便利なもの。

(assertEqualsとその仲間はすべて、ほとんどの単体テストの子孫であるTestCaseから静的にアクセスできます。)

于 2011-04-02T23:52:19.113 に答える
0

davidの回答に加えて、ここで説明するカスタムアサーションパターンを使用することをお勧めします。また、ここで説明するように、入力データと期待されるデータにパラメーター化されたテストを使用し、次のようなJUnit固有の例を使用することを検討します。

お役に立てれば!

于 2011-04-03T00:48:31.180 に答える