gpt4 book ai didi

java - 如何用 Java 编写测试来检查对象是否正在 JMock 或 JUnit 中使用?

转载 作者:行者123 更新时间:2023-11-28 20:54:38 25 4
gpt4 key购买 nike

我正在为 Java 程序编写一些测试,我需要测试我的对象是否被添加到列表中 x 次。

下面是一个假设的代码片段....

ObjectWithList objectWithList = new ObjectWithList();    

JMock context = new JMock();
ObjectInterface oInterfaceMock = (ObjectInterface)context.mock(ObjectInterface.class);

context.checking(new Expectations{{
oneOf(oInterfaceMock).makeSureIamOnlyStoredSomewhereOnce();
}});

context.assertIsSatisfied(); // This will be successful if objectWithList calls add only
//once.

我不知道 JUnit 是否有更好的测试方法,如有任何帮助,我们将不胜感激。我一直在尝试进行谷歌搜索,并在 Stack 上搜索以前的问题,但我没有运气。

非常感谢大家,我们将不胜感激!

最佳答案

我建议在没有 JMock 的情况下这样做。您可以简单地编写一个函数来计算列表包含对象的次数:

public int getCount(List<?> list, Object object) {
int count = 0;
for (Object element : list) {
if (object.equals(element)) {
count++;
}
}
return count;
}

还有其他可能的实现方式,但这一个显然是正确的。接下来,您可以编写一个断言:

public void assertAppearsNTimes(List<?> list, Object object, int n) {
if (n == getCount(list, object)) {
return;
}
fail("Object " + object + " does not appear in list "
+ n + " times: " + list);
}

关于java - 如何用 Java 编写测试来检查对象是否正在 JMock 或 JUnit 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30009644/

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