java使用JMockit模拟数组。类中的sort()方法
我试着模仿数组。排序方法以确保QuickSort类中的实现不使用数组。分类我该怎么做?这是我的尝试,结果是java.lang.StackOverflowError
@Test
public void testQuickSort() {
Integer[] array = {3, -7, 10, 3, 70, 20, 5, 1, 90, 410, -3, 7, -52};
Integer[] sortedArray = {-52, -7, -3, 1, 3, 3, 5, 7, 10, 20, 70, 90, 410};
QuickSort<Integer> quicksort = new QuickSort<>();
new Expectations(Arrays.class) {{
Arrays.sort((Integer[]) any);
}};
quicksort.quicksort(array);
// some asserts
// assertArrayEquals(sortedArray, array);
// ...
}
# 1 楼答案
您需要模拟它,并将调用
Arrays.sort
的时间限制为0
:# 2 楼答案
我可以这样模拟静态方法:
Source