如何使用 Junit 测试工具测试无效方法?

2022-09-01 10:33:09

我只是碰巧实现了一个方法,它只是将页面和链接添加到队列中。我试图测试这种方法,但没有成功。void followlink(obj page,obj link)

我想要的只是测试队列中包含从 followlink 方法接收的页面和链接。我的测试类已经扩展了 TestCase。那么测试这种方法的最佳方法是什么?


答案 1

JUnit 常见问题解答中有一节是关于返回 .在您的例子中,您希望测试调用的方法的副作用void

常见问题解答中给出的示例测试添加项目后大小会发生变化。Collection

@Test
public void testCollectionAdd() {
    Collection collection = new ArrayList();
    assertEquals(0, collection.size());
    collection.add("itemA");
    assertEquals(1, collection.size());
    collection.add("itemB");
    assertEquals(2, collection.size());
}

答案 2

如果队列在调用方法之前和之后,您可以测试大小,如下所示:

int size = queue.length();
followLink(page, link);
assertEquals(size+1, queue.length()); // or maybe size+2?

您可能要做的另一件事是从空队列开始,调用 followLink,然后取消第一项的队列并测试其值。