Zitat: |
Ich hab ein C# Projekt. |
Projekt Nr.1
Zitat: |
Dieses startet per SPS einen Test |
Aufgabe 1 des Projekt Nr.1: Auf einer Speicherprogrammierbaren Steuerung(SPS) eine Funktion "Test" aufrufen?
Zitat: |
und übergibt mir einen Wert zb False oder True |
Aufgabe 2 des Projekt Nr.1: Einen Wert an "mir" übergeben. Wer ist "mir" ?
Zitat: |
und dieser Wert soll getestet werden. |
Von "mir" nimmt man an? Mit was soll verglichen werden? Mit dem Ergebnis der Funktion "Test" der SPS?
Zitat: |
Ich muss einen Test-Projekt also eine *.dll erstellen, |
Es gibt also ein Test-Project, nennen wir es Projekt Nr.2,
das eine DLL benötigt die von dir erstellt werden soll Projekt Nr.3
Zitat: |
dass mein Projekt ausführt und den Wert übergibt und Assert vergleicht. |
Also mit "mein Projekt" ist hier ist wohl Projekt Nr.1 gemeint und damit ist auch das Rätsel um "mir" gelöst.
Projekt Nr.1 gibt einen Wert zurück
Zitat: |
Also wenn Wert = true dann Test erfolgreich |
Project Nr.3 vergleicht den Rückgabewert und Prüft das Ergebnis mit Assert()
Zitat: |
Hoffe war bisschen ausführlicher. |
Eher verwirrend..., versuch die Gedanken zu ordnen bevor du den Sachverhalt beschreibst.
Wer sind die Beteiligten, wer hat welche Aufgabe.
Zum eigentlichen Problem:
Zitat: |
Urgendwie hab ich das Problem das Projekt vorher starten zu lassen und sofort danach den Test ausführen zu lassen. |
- Die DLL (Projekt3) wird vom Testframwork (Projekt2) geladen.
- Das Testframwork ruft eine von der DLL exportierte Testfunktion auf.
- Die Testfunktion startet Projekt1 (z.B. per CreateProcess eventuell mit Parameter), wartet auf das Beenden des Programms und wertet den Rückgabewert aus (GetExitCodeProcess).
- Projekt1 erkennt beim Start z.B. auf Grund des Parameters was zu tun ist und beendet sich danach mit entsprechendem Rückgabewert.
Wo ist jetzt das konkrete Problem?