我是jUnit测试的新手,我不知道它是如何工作的,我尝试在网上浏览一些教程,但无法理解。所以我发布我的代码和testClass的框架,那么在这种情况下如何修改testClass,以便我能够理解jUnit的工作方式。如何做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);
}
}
的TestClass的IDE生成:
/**
* 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; numbers =“12; 57; 65” index =“2”;
expResult = 39; numbers =“09; 78; 45; 39; 05” index =“3”;
我只是想知道如何在代码中使用它。
你可以跑一个海湾愤怒。 – GGrec
1)创建测试数据。 2)手动计算该测试数据的答案。 3)确认该方法返回相同的答案。 4)找出角落案例。附:为什么这种方法在没有这种事情时称为“快速排序”? –
@GGrec ??那是什么,正如我所说我是jUnit的新手。不要知道任何事情。 –