Wie private final MockClass mockClass = new MockClass();
Mock letzte neue Instanz erstellt?
public class SimpleClass {
private final MockClass mockClass = new MockClass();
}
Wie private final MockClass mockClass = new MockClass();
Mock letzte neue Instanz erstellt?
public class SimpleClass {
private final MockClass mockClass = new MockClass();
}
Verwendung Dependency Injection verspotten; dann können Sie haben, was Sie im Bereich wollen:
class SimpleClass {
private final MockClass mockClass;
SimpleClass(MockClass mockClass) {
this.mockClass = mockClass;
}
}
Siehe Misko Hevery's guide to writing testable code: Ihr Code ein Beispiel für das Warnzeichen „neuen Schlüsselwort in einem Konstruktor oder auf Felddeklaration“ ist.
Ich habe diesen Fall, und ich möchte wissen, dass irgendwelche Frameworks die Gelegenheit haben, diesen Fall zu verspotten? Ich weiß Code, den ich nicht testbar schreibe, aber ich habe diesen Fall –
Hängt davon ab, welche höhnische Bibliothek Sie verwenden. Bei PowerMock würde ein 'mockStatic (MockClass.class)' Aufruf benötigt. Mit JMockit deklarieren Sie ein '@Mocked MockClass' Feld oder Parameter. –