aus der Lektüre Ich habe eine Singleton Java Eigenschaften Klasse (RepositoryProperties.java), die aus einer Textdatei liest den Wert von der readFromSql Methode zurückgegeben zu bekommen:Wie der Wert zurück verspotten einer Eigenschaftendatei in JMock Test
public boolean readFromSql() {
String lPhase = getPilotProfileDatabaseTransitionPhase();
if (lPhase.equals("PHASE_ONE_SQL")) {
return true;
} else
return false;
}
Dann, wenn ich eine Aufzeichnung über meine Repository-Implementierungsklasse hinzufügen möchten, ich habe diesen Wert zu überprüfen, um zu wissen, welche Codeblock auszuführen:
if (RepositoryProperties.getInstance().readFromSql()
{
.. wenn sie wahr sind, schreiben die Daten in SQL, sonst überspringen dieser Block
Jetzt muss ich einen Jmock Komponententest für meine Repository add Methode hinzufügen, so dass die readFromSql Methode true zurückgibt (ein anderer Test testet den false Wert), ohne eine Abhängigkeit von der Textdatei einzuführen. Ich fürchte, Jmock ist komplett neu für mich und ich kann mir nicht vorstellen, wie man den Wert von readFromSql verspottet. Ich habe keine Setter-Methode.
Ich habe versucht, eine Erwartung für das Hinzufügen, aber es ist nicht der richtige Ansatz (glaube nicht, dass dies in den Erwartungen gehört) und meine Syntax ist auch falsch:
myMockContext.checking(new Expectations() {
{
RepositoryProperties.getInstance().readFromSql();
will(returnValue(true));
Wäre wirklich zu schätzen eine wenig Anleitung, wie man um das richtig zu machen und wo.