在 JUnit4 中创建测试
Create a test in JUnit4
我正在尝试在 JUnit4 中创建一个测试来测试这个:
public class Task
{
public static List<Integer> withinRange(List<Integer> l, int max, int min)
{
Iterator<Integer> it = l.iterator();
ArrayList<Integer> arrayList = new ArrayList<>();
if(it.hasNext())
{
Integer current = it.next();
if(current < max && current >= min)
{
arrayList.add(current);
}
}
return arrayList;
}
}
该方法接收一个列表和两个标记范围的整数(仅限正整数)和 returns 一个包含范围内列表元素的 ArrayList。
我如何创建 JUnit 测试来检查是否正常工作?
你是指下面这样的意思吗?
@Test
public void testWithinRange() {
// Set up test data (given)
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(4);
list.add(5);
list.add(7);
// perform test (when)
List<Integer> result = Task.withinRange(list, 4, 5);
// verify results (then)
assertTrue(result.contains(4));
assertTrue(result.contains(5));
assertFalse(result.contains(7));
}
测试的基础是设置测试数据、调用测试,然后验证结果。
然后用不同的参数改变它以检查它在不同情况下是否仍然有效。例如,当列表为 null 或空时会发生什么?当范围为负数或最大值小于最小值时会发生什么情况?
我正在尝试在 JUnit4 中创建一个测试来测试这个:
public class Task
{
public static List<Integer> withinRange(List<Integer> l, int max, int min)
{
Iterator<Integer> it = l.iterator();
ArrayList<Integer> arrayList = new ArrayList<>();
if(it.hasNext())
{
Integer current = it.next();
if(current < max && current >= min)
{
arrayList.add(current);
}
}
return arrayList;
}
}
该方法接收一个列表和两个标记范围的整数(仅限正整数)和 returns 一个包含范围内列表元素的 ArrayList。
我如何创建 JUnit 测试来检查是否正常工作?
你是指下面这样的意思吗?
@Test
public void testWithinRange() {
// Set up test data (given)
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(4);
list.add(5);
list.add(7);
// perform test (when)
List<Integer> result = Task.withinRange(list, 4, 5);
// verify results (then)
assertTrue(result.contains(4));
assertTrue(result.contains(5));
assertFalse(result.contains(7));
}
测试的基础是设置测试数据、调用测试,然后验证结果。
然后用不同的参数改变它以检查它在不同情况下是否仍然有效。例如,当列表为 null 或空时会发生什么?当范围为负数或最大值小于最小值时会发生什么情况?