我是Java的新手,但我正在尽我所能尽快学习。我使用队列接口在Eclipse中创建了一个类,并创建了一个元素数组(在我的情况下是动物)。在此数组中,我添加了一个名为“ tiger”的新元素。
当我想使用testng / junit创建一个新类并尝试添加一个简单的单元测试来检查新元素“ tiger”是否正确添加到数组列表时,我陷入了困境。我的队列代码如下:
public static void main(String[] args) {
String animals[] = {"cat","dog","pony","horse","cheetah"};
Queue<String> queue = new LinkedList<String>();
Collections.addAll(queue, animals);
System.out.println(queue);
queue.add("tiger");
System.out.println(queue);}
请帮助,我很乐意提供任何建议。
答案 0 :(得分:0)
从您的代码中,我建议:
在您的情况下,我可以告诉您您的代码不是“测试友好”的,您想使用元素自己的方法或使用类似Mockito的方法来测试元素是否在Queue中,以验证添加是否被调用带有要测试的值,但是要使您理解这一点,您应该了解有关双打,模拟和存根的更多信息。
答案 1 :(得分:0)
类似这样的东西:
@Test
public void test() {
//Given
String animals[] = {"cat","dog","pony","horse","cheetah"};
Queue<String> queue = new LinkedList<String>();
Collections.addAll(queue, animals);
//When
queue.add("tiger");
//Then
assertThat(queue, hasSize(6));
assertEquals("tiger",((LinkedList<String>) queue).getLast());
}