gpt4 book ai didi

java - 数组列表 : Default Entry in Constructor?

转载 作者:行者123 更新时间:2023-11-30 06:31:46 24 4
gpt4 key购买 nike

好的,这就是发生的事情。我正在尝试为我设置的库类设置测试代码。现在,我应该调整我的构造函数以在添加新条目之前自动在我的数组列表中创建一个条目。这是我的构造函数:

public DvrLibrary()
{
recordings = new ArrayList < DvrRecording > ();

DvrRecording initialRecording = new DvrRecording();
initialRecording.setTitle("Family Guy");
initialRecording.setStartTime("10:00pm");
for (int i = 0; i < 3; ++i) { initialRecording.increaseTime(); }

recordings.add(initialRecording);
}

当我创建测试用例时,我的测试代码如下:

public void testARecording()
{
DvrLibrary testLibrary = new DvrLibrary();
ArrayList < DvrRecording > testList = new ArrayList < DvrRecording > ();

DvrRecording testRecording = new DvrRecording();
testRecording.setTitle("Lost");
testRecording.setStartTime("Later");
for (int i = 0; i < 3; ++i) { testRecording.increaseTime(); }

testLibrary.addRecording(testRecording);
testList.add(testRecording);

assertEquals(testLibrary.getRecordings(), testList);
}

我的问题是,当我运行实际测试时,我很确定没有调用默认值。它返回一条失败的错误消息,告诉我它期望找到两个条目但只找到一个。我尝试删除测试代码正在创建的新条目,错误显示应该有一个,但什么也没找到。

这让我相信我在实际代码中设置构造函数的方式有问题,但我终究无法弄清楚我搞砸了什么。当我去寻求帮助时,与我交谈的那个人就像我不确定哪里出了问题,但你可能会搞砸断言。但是我不知道怎么了?

有人有意见吗?我真的很感激。谢谢!

最佳答案

因为 assertEquals 签名是 (expected, actual),所以你的错误信息是反转的。应该是“期待一个,得到两个”。

您的实际列表是正确的,它有两个项目,如代码所示。然而,预期的那个是不正确的:它只有一个您在测试设置期间添加到它的项目。

关于java - 数组列表 : Default Entry in Constructor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9524347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com