Ich habe GPS-Leser-Klasse, die Koordinaten von einem GPS-Empfänger liefert. Dies funktioniert natürlich bei Maschinen mit echten Empfängern. Jetzt habe ich eine Mockup-Klasse erstellt, die mir zufällig Koordinaten gibt, damit ich meine Anwendung starten und sehen kann, ob alles funktioniert, ohne sie auf einem anderen Rechner einsetzen zu müssen.Wie man Produktion und Modellklasse richtig trennt
Nun ist dies die Struktur:
class AbstractGPSReader {
}
class RealGPSReader extends AbstractGPSReader {
}
class FakeGPSReader extends AbstractGPSReader {
}
class SomeOtherClass {
private AbstractGPSReader gpsReader = new RealGPSReader();
}
Um in der Lage sein, um die Anwendung zu testen ich
new RealGPSReader()
mit
new FakeGPSReader()
Gibt es eine elegantere Möglichkeit ersetzen? Kann ich verhindern, dass jemand diese Klasse in der Produktion verwendet?
Sie können mit Mockito [http://site.mockito.org/](http://site.mockito.org/) spotten. Es ist sehr einfach und kompatibel mit Junit Tests – Valijon
Ich möchte es selbst testen. Ich denke, das ist für Unit-Tests, oder? – user489872
Wenn Sie Feder verwenden, können Sie Ihre Klassen basierend auf Profilen instanziieren und autowire. – questionare