2
在我的代码中,我有两个静态方法。我用来比较两个int数组的内容,以及比较两个字符串数组内容(以相同顺序)的内容。我如何为这些方法之一构造JUnit测试?我在想,我可以使用 编辑** 我创建了一个测试,但可行,但不准确。如何创建一个JUnit测试来测试CompareTo?
//edited test, passes but clearly isn't correct.
public class ArrayComparerTests {
@Test
public void testIntArray() {
// ArrayComparer arrayComparer = new ArrayComparer();
int[] list1 = {2,2,3};
int[] list2 = {1};
assertEquals(false, ArrayComparer.compareIntArrays(list1, list2));
}
}
public class ArrayComparer {
public static boolean compareIntArrays(int[] list1, int[] list2) {
// checks for same array reference
if (list1 == list2) {
return true;
}
// checks for null arrays
if (list1 == null || list2 == null) {
return false;
}
// arrays should be of equal length
if (list2.length != list1.length) {
return false;
}
// compare array values
for (int i = 0; i < list1.length; i++) {
for (i = 0; i < list2.length; i++) {
if (list1[i] != list2[i])
return false;
}
}
return true;
}
public static boolean compareStringArrays(String[] list3, String[] list4) {
// checks for same array reference
if (list3 == list4) {
return true;
}
// checks for null arrays
if (list3 == null || list4 == null) {
return false;
}
// arrays should be of equal length
if (list4.length != list3.length) {
return false;
}
// compare array values
for (int i = 0; i < list3.length; i++) {
for (i = 0; i < list4.length; i++) {
if (list3[i] != list4[i])
return false;
}
}
return true;
}
}
可能你只是创建相互阵列中的每个元素进行比较,假设它们是相同的尺寸,只是打破了功能,如果有什么心不是在相同的函数返回false,只是做一个断言真(或取决于你期望得到什么结果)作为你的单元测试? – AngryDuck