gpt4 book ai didi

java - 使用 EasyMock 创建列表

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

我目前正在学习EasyMock并且我已经阅读了一些关于它的教程。根据我所获得的知识,我尝试创建一个模拟列表,但它给了我断言错误,我无法理解其原因。

基本上,我想要一个列表,其第一个元素是1133L,第二个元素是1139L,它的大小自然是2。

我的方法

@Test
public void testCreateIdealConf()
{

List< Long > idList = createMock( List.class );

expect( idList.get( 0 ) ).andReturn( 1133L );
expect( idList.get( 1 ) ).andReturn( 1139L );
expect( idList.size() ).andReturn( 2 );

replay( idList );

for( int i = 0; i < idList.size(); i++ )
{
System.out.println( "Elements: " + idList.get( i ) );
}
}

当我运行此测试方法时,出现以下错误

java.lang.AssertionError: 
Unexpected method call List.size():
List.get(1): expected: 1, actual: 0
List.size(): expected: 1, actual: 2
at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:44)
at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:94)
at com.sun.proxy.$Proxy7.size(Unknown Source)
at de.psi.passage3.auslieferung.allg.gui.status.CasBarUserConfigurationArrangementsTest.testCreateIdealConf(CasBarUserConfigurationArrangementsTest.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
the rest of the failure trace is omitted.

我在哪里犯了错误,或者我是否从模拟对象/列表中排除了错误?

最佳答案

看起来你是在告诉它期待:

get(0)
get(1)
size()

但实际的方法调用将是:

size()
get(0)
size()
get(1)
size()

关于java - 使用 EasyMock 创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38348700/

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