首页 > 解决方案 > 如何使用 Assert.assertEquals() 测试单链表

问题描述

我正在尝试使用 Assert.assertEqual(expected, actual) 测试单链表,链表有一个节点索引和一个值。我如何使用 Assert.assertEquals() 来测试它。

这是我的代码

@Test
void nonEmptyTest() throws ListAccessError {
    SingleLinkedList<Integer> list = new SingleLinkedList<Integer>();
    SingleLinkedList<Integer> expList = new SingleLinkedList<Integer>();
    list.add(0,10);
    list.add(1,20);
    list.add(2,30);
    expList.add(0,10);
    expList.add(1,20);
    expList.add(2,30);
    Assert.assertEquals(expList, list);
}

标签: javatestingjunitsingly-linked-list

解决方案


如果你想比较两个不同的对象来判断它们是否相等,你定义这些对象的类通常需要实现 equals() 方法。否则,Java 无法知道“平等”应该是什么意思。

也就是说,您的问题不在单元测试中,而在正在测试的类中。单元测试完成了它的工作:-)


推荐阅读