在 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 或空时会发生什么?当范围为负数或最大值小于最小值时会发生什么情况?