0
私のテスト方法が失敗しています。イテレーターの場所に何を配置するのか分かりません。現在はnullです。イテレータがあるときにこれをテストするには?ここでJava:イテレータでメソッドをテストする
はそれがないすべての配列を検索し、与えられた数のインデックスを返しますされ、作品のフルメインクラスです。ここ
public class Main {
public static void main(String[] args) {
final List<Integer> numbers = Arrays.asList(3, 4, 6, 1, 9);
final Integer x = Integer.valueOf(1);
System.out.println(findSame(numbers.iterator(), x, 0));
}
public static final int findSame(Iterator<Integer> iterator, Integer x, int idx) {
if (!iterator.hasNext()) {
return -1;
}
if (iterator.next().equals(x)) {
return idx;
} else {
return findSame(iterator, x, idx+1);
}
}
}
は機能しない私のテストトライアル方法、です。
@Test
public void searchNumReturnsIndex1(){
Main instance = new Main();
System.out.println("Index");
Iterator<Integer> iterator = null;
int x = 6;
int expResult = 2;
int result = Main.findSame(iterator, x, 2);
assertEquals(expResult, result);
}
まず、何をしようとしているのかを説明します。あなたがどこにいるのか説明してください。それから私達は助けることができるかもしれません。 – shmosel
@shmoselしました。 – Camila
あなたがやろうとしていることが少しはっきりしています。しかし、まだあなたが立ち往生している場所を明確にしていない。なぜ単体テストは 'main()'の作業コードよりも難しいのですか? – shmosel