Frage

Wie funktioniert ein Test eine Methode, die einige Wechselwirkungen mit dem lokalen D-Bus hat (Zugriff auf ein HAL-Objekt)?

Die Ergebnisse der Tests werden je nach System unterschiedlich, dass der Test auf ausgeführt wird, so dass ich weiß nicht, wie die Methode zuverlässige Eingabe bereitzustellen.

Ich arbeite in Python, nebenbei gesagt.

War es hilfreich?

Lösung

Wenn Sie nicht die Umwelt spotten können, dann ist es wahrscheinlich unmöglich für Sie den Test zu schreiben. Wenn Ihr Zugang zu HAL / D-Bus über ein Objekt ist, und Sie stellen eine Mock-Instanz zu Ihrem Test dann sollte es möglich sein, die notwendigen Eingaben Ihren Test aus der Mock-Implementierung zu emulieren.

Andere Tipps

Es ist auch möglich, einen temporären D-Bus Busse für Tests zu erstellen und emulieren alle Dienste, Ihr Programm in Ihrem Testcode verwendet. Sie können diesen Ansatz für Programme verwendet werden, die D-Bus-Dienste sind, D-Bus-Clients, oder beides. Der Nachteil ist, dass der Bus-Setup ein bisschen haarig ist. Es gibt Code, dies zu tun in zB Telepathy Gabble.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top