2015-02-09 11 views
5

Ich arbeite an einem Projekt, das auf mehrere Kisten verteilt ist. Die oberste Kiste (die App) benötigt die beiden anderen Kisten (Bibliotheken) als Abhängigkeiten. Das Ausführen von cargo test in der Top-Level-Kiste baut die Abhängigkeiten auf und führt Tests für die Kiste der obersten Ebene aus, führt jedoch keine Tests für die beiden anderen Kisten durch. Gibt es eine Möglichkeit, cargo test so zu konfigurieren, dass Tests in allen drei Kisten ausgeführt werden?Wie werden Cargo-Tests für lokale Abhängigkeiten durchgeführt?

Danke!

+0

Ich gehe davon aus, dass nur Verzeichnisse zu ändern und läuft Fracht von dort ist keine ausreichende Lösung? – Shepmaster

+0

@Shempmaster Ich möchte den Build auf CI ausführen, daher wäre ich lieber in der Lage, alle Befehle relativ zum Quellverzeichnis der obersten Ebene auszuführen. 'cd' ist mein Backup-Plan. –

Antwort

6

Sie können den Parameter -p übergeben, damit Cargo die Tests einer Abhängigkeit ausführt.

Also, wenn Ihre Kiste sublib genannt wird, können Sie die Tests durchgeführt werden:

cargo test -p sublib 

Von cargo test --help:

-p SPEC, --package SPEC-Paket, um Tests für

Wenn das --package Argument gegeben ist, dann ist SPEC eine Paket-ID Spezifikation, die sollte geprüft werden, welches Paket angibt. Wenn es nicht gegeben ist, dann wird das aktuelle Paket getestet. Weitere Informationen über SPEC und sein Format finden Sie in den cargo help pkgid Befehl.

+0

ausgezeichnet, danke! –

+0

Ich möchte nur hinzufügen, das kann mehrmals verwendet werden. Zum Beispiel, wenn Sie die aktuelle Kiste und die gebündelten Kisten testen möchten, können Sie 'Fracht Test -p bundled1 -p bundled2 -p main_crate' – andrew

Verwandte Themen