私はコードを書くのが初めてです。私はベストではありませんが、なぜ自分のコードが私が設定したJUnitテストの1つをパスしていないのか分かりません。JUnitテストが失敗している理由が分かりません
public class PA3Test {
public static void main(String[] args) {
}
public static int countMajority(int count0, int count1, int count2) {
int allVotes = (count0 + count1 + count2);
int halfVotes = (allVotes/2);
int winner = 999;
if (count0 >= halfVotes) {
winner = 0;
} else {
winner = -1;
}
if (count1 >= halfVotes) {
winner = 1;
} else {
winner = -1;
}
return winner;
}
テストでは、次のようになります。
import junit.framework.TestCase;
public class PA3TestTest extends TestCase {
public static void testCountMajority() {
assertEquals("0th param should win:", 0,
PA3Test.countMajority(100, 50, 40));
assertEquals("1st param should win:", 1,
PA3Test.countMajority(50, 100, 40));
}
は、それが0を返すことになっているが、それは-1を返しています。どんな助けもありがとうございます。最初の試験で
関数が0を返しているはずですが、-1が返されているため、テストで関数が0を返すことをテストしているためテストに失敗しています。 – immibis
@immibis質問をコメントとして繰り返すことの価値は何ですか? –
@HadenSchlemmer IDEデバッガのコードをステップ実行して、予期しないことが起こっている箇所を確認しましたか? –