私はjUnitテストを初めて使用し、それがどのように機能するのかわかりません。オンラインでいくつかのチュートリアルを試してみましたが、あまり理解できませんでした. したがって、コードとtestClassのスケルトンを投稿しています。この場合、testClassはどのように変更されるので、jUnitがどのように機能するかを理解できます。
テストしたい方法:
public String quickSortArray(String numbers, String indexNumber) throws NumberFormatException, Exception{
String[] data = numbers.split(";");
int index = parseInt(indexNumber);
int[] inputNum = new int[data.length];
for (int i = 0; i < data.length; i++) {
inputNum[i] = parseInt(data[i]);
}
Set<Integer> removeDuplicates = new HashSet<Integer>();
for (int j = 0; j < inputNum.length; j++) {
removeDuplicates.add(inputNum[j]);
}
int[] finalSortArray = new int[removeDuplicates.size()];
int k = 0;
for (Integer move : removeDuplicates) {
finalSortArray[k++] = move;
}
Arrays.sort(finalSortArray);
if (finalSortArray.length < index) {
return "The index cannot be greater than the non-repeated numbers";
} else {
int result=finalSortArray[finalSortArray.length-index];
return String.valueOf(result);
}
}
IDE によって生成された testClass:
/**
* Test of quickSortArray method, of class quickSort.
*/
public void testQuickSortArray() throws Exception {
System.out.println("quickSortArray");
String numbers = "";
String indexNumber = "";
quickSort instance = new quickSort();
String expResult = "";
String result = instance.quickSortArray(numbers, indexNumber);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
したがって、メソッドの機能がテストされるように testClass をどのように記述する必要があるかを知りたいだけです。私は本当にすべての助けに感謝します
メソッドが基本的に行うことは、セミコロンで区切られた数値の配列から、最初にそれらを int に変換し、次に重複を削除してから、N 番目に大きい数値を見つけることです。この場合、N はインデックスです。
ここにいくつかの手動データがあります。回答者にこれを計算する手間をかけたくありません: expResult=57; 数字="12;57;65" インデックス="2";
expResult=39; 数字="09;78;45;39;05" インデックス="3";
コードでこれを使用する方法を知りたいだけです。