Warum ist so viel Hass über "teilweise Spott" und den Code, der es erfordert?Partial Mocking als Code riechen?
Hier ist ein (theoretisches) Beispiel-Implementierung:
public ComplexResult1 operationA(Stimulus a) {
{
...
result = ...;
}
auditTheChange(a);
}
public ComplexResult2 operationB(Stimulus b) {
{
...
result = ...;
}
auditTheChange(b);
return result;
}
void auditTheChange(Stimulus stim) {
// do a bunch of stuff to record the change
// and interact with another outside service
}
Nun, in meinem Verständnis dieses gut Überarbeitete Code.
Wenn ich Unit-Test operationA will und operationB, und sicherzustellen, dass die Überwachung in jedem Szenario geschieht, aber ohne die Besonderheiten des Prüfungs Code zu testen ist, würde ich teilweise spöttisch verwenden.
Was sehe ich nicht, was dazu führt, dass so viele Projekte (EasyMock, Mockito usw.) Refactoring empfehlen?
Wer ist derjenige, der pauschale Aussagen gegen die Verwendung von partiellen Mocks macht? –
Das ist eine ziemlich ungerechtfertigte Verwendung des Wortes "hassen" – skaffman
@kirk, von EasyMock Dokumentation: "In diesem Fall ist die erste Sache zu tun, ein Refactoring zu betrachten, da die meiste Zeit dieses Problem durch ein schlechtes Design verursacht wird nicht der Fall, oder wenn Sie wegen einiger Entwicklungseinschränkungen nicht anders können, hier ist die Lösung. " – Nelz