現在、私たちはプログラミングクラスでJUnitテストを学んでいます。私たちの仕事は、配列内のint型の値の合計を計算する方法を記述した:シンプルなJUnitテストが動作しない
public class PIArrays
{
public int sum(final int[] array) {
int sum = 0;
for(int i = 0; i < array.length; i++){
sum += array[i];
}
return sum;
}
}
その後、我々はBlueJののツールの助けを借りてテストを書くことになっています。
public void testSum()
{
PIArrays pIArrays1 = new PIArrays();
assertEquals(3, pIArrays1.sum({1,2}));
}
和方法は、しかし、このエラーメッセージのテストの結果、正常に動作します:
"illegal start of expression"
は私が間違って正確に何をしているのですか?
EDIT:
パブリッククラスPIArraysTestは、それが実際パブリッククラスPIArraysだ間違っています。私は間違った行をコピーしました。
エラーが私のテストクラスで起こる:パブリッククラスPIArraysTestこの行で:
assertEquals(3, pIArrays1.sum({1,2}));
この部分で:
({1,2})
beeingてはint[]
として
あなたのクラスには「PIArraysTest」という名前が付けられていて、それを「PIArrays」として参照していますか?それは正しいとは思わない。あなたのテストコードで 'PIArraysTest pIArrays1 = new PIArraysTest();'を試してみてください。また、エラーについて詳しく説明してください。どのクラスをどのクラスですか?唯一の情報権利ではありませんか? – Clemenz
'pIArrays1.sum({1,2})' - > 'pIArrays1.sum(新しいint [] {1,2})' – UnholySheep
質問を編集していただきありがとうございます。これにより、正確に何を求めているのかがより明確になります。次回に他の質問をしながらこれを覚えておいてください! – Clemenz