-2

さて、私はJUnitテストケースでいくつかの練習をしており、Javaで別のクラスからメソッドを呼び出そうとしていますが、理解できません. クラスは異なる SOURCE FOLDERS にあるので、それが理由かどうかわかりませんか?

以下は、コードの小さなスニペットで、コンストラクターと、メソッドを呼び出す方法の例を示しています。

package common;

public class MathTest {

    @Test
    public void test1(){

            if (mMultiply(5, 6)== 30){
                System.out.println("mMultiply Test has passesd");
            } else {
                System.out.println("mMultiply Test has failed");
                fail("Multiply failed for inputted parameters. ");

そして今、私がパッケージ共通と呼ぼうとしているメソッドを持つ他のクラスがあります。

public class math {

    public static int mMultiply(int x, int y){
    return x*y;

}
4

5 に答える 5

5

これは静的メソッドであるため、クラスを JUnit ファイル テストにインポートするだけです。次にAssert class、JUnit の を使用して関数をテストします。この場合、 を使用しますassertEquals。したがって、テストを次のように書き直します。

@Test
public void test1(){
    assertEquals(math.mMultiply(5, 6),30);
}
于 2013-06-10T14:33:49.900 に答える
2

つまり、静的メソッドがどのクラスにあるかをメソッドに伝える必要があります。

if (math.mMultiply(5, 6)== 30){
        System.out.println("mMultiply Test has passesd");
    }

ちなみに、すべての Java クラスは大文字で始める必要があり、Math というコア Java クラスが既に存在するため、別の名前を見つけた方がよいかもしれません。

于 2013-06-10T14:33:49.757 に答える
1

試しmath.mMultiplyてみてください静的メソッドであるため、存在するクラスを指定する必要があります

于 2013-06-10T14:34:42.750 に答える
1

を呼び出すときは、次mMultiply(5,6)のようにしますmath.mMultiply(5,6)

于 2013-06-10T14:34:53.423 に答える
1

これは静的メソッドであるため、その前にクラス名を付けて呼び出します。

math.mMultiply(value1, value2).

また、Javaコードの書き方のマニュアルも確認してください。クラス名は大文字で始まるので、クラスのクラスを に変更mathMathます。

于 2013-06-10T14:35:21.160 に答える