Ich lerne gerade EasyMock und ich habe ein paar Tutorials darüber gelesen. Basierend auf dem Wissen, das ich erworben habe, versuche ich eine Scheinliste zu erstellen, aber es gibt mir AssertionError, dessen Grund ich nicht verstehen konnte.Erstellen Sie eine Liste mit EasyMock
Grundsätzlich möchte ich eine Liste haben, deren erstes Element 1133L und 1139L zweite Element ist und die Größe ist es natürlich 2.
Meine Methode
@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));
}
}
Wenn ich diesen Test ausführen Verfahren, gibt es folgende Fehler
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.
Wo ich einen Fehler machen oder tun, außer ich etwas falsch von einer Mock-Objekt/Liste?
ich nicht EasyMock verwendet haben, aber es sieht aus wie Sie es erwarten sagen 'erhalten (0), get (1), size() ', aber die eigentlichen Methodenaufrufe wären:' size(), get (0), size(), get (1), size() '. – khelwood
@khelwood Jetzt, basierend auf Ihrer Antwort, habe ich getestet und Sie haben Recht. Die Reihenfolge ist auch wichtig :) Wenn Sie Ihren Kommentar als Antwort ändern, wird dies als Lösung akzeptiert. –
Kühl. Froh, dass ich helfen konnte. – khelwood