[SerialPort] Simulieren von Geräten

Laocoon

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem:
Ich arbeite an einem größeren Projekt mit, bei dem unter anderem auch mehrere (derzeit zwei) Geräte per Bluetooth (über einen Virtuellen Com Port) angesprochen werden. Das funktioniert soweit auch.
Problem ist nur das Testen (per NUnit) der Klassen, die für die Kommunikation mit den Geräten zuständig sind. Zum Testen ist es schlecht, wenn die Geräte immer physisch verbunden sein müssen (vor allem, wenn man Tests automatisiert fahren will).

Die Idee ist nun einen Simulator für die Geräte zu schreiben, der virtuell an die entsprechenden Schnittstelle sendet. Über die SerialPort Klasse funktioniert das leider nicht ohne weiteres. Da ist es nur möglich eine Instanz pro Port (also z.B. "COM3") zu erstellen. Danach ist der Port belegt (irgendwo logisch ;)). Es ist zwar möglich Simulation und zu testende Klasse auf der selben Instanz des Ports laufen zu lassen, das ist aber alles andere als sauber modelliert, und führt spätestens bei größeren Szenariotests zu Problemen.

Die einzige Möglichkeit die ich bisher gefunden hab, zwei Ports physisch zu überbrücken (USB-Adapter). Anschließend kann man den Simulator an einen anderen Port binden, als die Device Klasse. Aber es muss doch möglich sein virtuelle COM-Ports (wie sie Bluetooth verwendet) auch virtuell zu überbrücken?!

Hat jemand in dem Bereich Erfahrung, oder vielleicht einen ganz anderen Lösungsansatz?

Grüße
Daniel
 
Zurück