2016-07-07 21 views
0

Ich habe eine Binärdatei, die ich in meinem Test verwenden möchte. Ich möchte diese Binärdatei in den Ordner test/resources stellen, damit jeder, der das Projekt lädt und den Test ausführt, Zugriff auf die Binärdatei hat und der Test ohne zusätzliche Konfigurationen ausgeführt werden kann. Mein Problem ist, dass der Test über eine Task ausgeführt wird, und ich kann keine Informationen darüber finden, wie ich die Binärdatei so erstellen kann, dass der Test sie verwenden kann.Verwenden einer ausführbaren Datei innerhalb eines Gradle Junit-Test

Ich rufe die binäre im Test

String command = "cf"; 
Process proc = Runtime.getRuntime().exec(command, null, null); 

Die cf ausführbaren verwendet, wird in dem Test/Ressourcen-Ordner.

Wie ist, erhalte ich die Fehlermeldung: Kann nicht Programm „cf“ auszuführen: Create error = 2, Das System kann die angegebene Datei nicht finden

+0

Es könnte sein, wenn Sie weitere Informationen zur Verfügung stellen, zum Beispiel den tatsächlichen Code, den Sie ausführen, einschließlich, wie Sie den Pfad für Ihre Binärdatei suchen und welchen Fehler Sie erhalten – tddmonkey

+0

Ich habe einige weitere Informationen hinzugefügt. Es gibt nicht viel Code, außer zu versuchen, die ausführbare Datei im Ordner test/resources auszuführen. Ich bin mir nicht sicher, wo ich anfangen soll, diesen Pfad hinzuzufügen oder zu erreichen [via Gradle]. – user3335154

Antwort

0

Das Problem ist, dass command wird für die Datei in der CWD suchen cf . Sie müssen es über den Klassenlader finden, wie folgt aus:

String command = getClass().getResource("cf").getFile(); 

Dies gibt Ihnen einen absoluten Pfad der ausführbaren Datei.