Ich muss eine Methode innerhalb einer void-Methode verspotten.Wie spottet man eine Methode, die mit einer anderen Methode mit EasyMock aufgerufen wird?
Hier ist mein Beispielcode:
class MyClass {
public MyClass(Session s, Boolean b1, Boolean b2)
void myMethod(some paramaters...) {
// some code
int count= setSize();
}
int setSize() {
// some calculation....
return size;
}
Jetzt in meinem Test-Klasse Ich möchte setSize()
verspotten meinen eigenen Wert sagen 300
zurückzukehren.
Ich habe wie:
MyClass mockclass = createNiceMock(MyClass.class);
EasyMock.expect(mockimplyZero.setBatchSize()).andReturn(Integer.valueOf(300));
mockclass.myMethod(parameters....)
wenn Anruf myMethod
, es ist nicht richtig in das Verfahren geht. Ich denke, es könnte sein EasyMock setzt Standardwerte auf den MyClass
Konstruktor. Wie mache ich den Mock richtig?
Es gibt keine Methoden in MyClass
außer Konstruktor, myMethod
und setSize
Hinweis: Bitte lesen Sie über Java Namenskonventionen. Methodennamen gehen camelCase; ebenso Felder; aber Klassennamen gehen UpperCase. Das ist wichtig; Wenn Sie von diesen Standards abweichen, wird Ihr Code ** schwieriger ** für andere Personen zu lesen. – GhostCat