2015-02-09 7 views
5

Pracuję nad projektem podzielonym na wiele skrzynek. Paczka najwyższego poziomu (aplikacja) wymaga dwóch innych skrzynek (bibliotek) jako zależności. Uruchamianie cargo test w skrzynce najwyższego poziomu buduje zależności i uruchamia testy dla skrzyni najwyższego poziomu, ale nie uruchamia testów dla dwóch pozostałych skrzynek. Czy istnieje sposób skonfigurowania cargo test, aby uruchamiał testy we wszystkich trzech skrzynkach?Jak wykonać testy uruchamiania Cargo dla lokalnych zależności?

Dzięki!

+0

Zakładam, że zwykłe zmienianie katalogów i przewóz ładunków nie jest rozwiązaniem wystarczającym? – Shepmaster

+0

@Shepmaster Chcę uruchomić kompilację na CI, więc wolałbym móc wykonywać wszystkie polecenia względem katalogu źródłowego najwyższego poziomu. 'cd' jest jednak moim planem tworzenia kopii zapasowych. –

Odpowiedz

6

Możesz przekazać parametr -p, aby Cargo uruchomił testy zależności.

Dlatego, jeśli skrzynia jest nazywany sublib można uruchomić swoje testy przy użyciu:

cargo test -p sublib 

Od cargo test --help:

-p SPEC, --package SPEC Pakiet uruchomić testy dla

Jeśli podany jest argument --package, to SPEC jest identyfikatorem paczki specyfikacji, która wskazuje, który pakiet powinien zostać przetestowany. Jeśli nie podano wartości , wówczas testowany jest aktualny pakiet. Aby uzyskać więcej informacji na temat specyfikacji SPEC i jej formatu, zobacz komendę cargo help pkgid.

+0

Doskonale, dzięki! –

+0

Po prostu chcesz dodać, to może być używane wiele razy. Na przykład, jeśli chcesz przetestować aktualną skrzynię ORAZ pakunki w pakiecie, możesz zrobić "ładunek testowy -p w pakiecie1 -p w pakiecie2 -p main_crate' – andrew

Powiązane problemy