2015-02-09 26 views
5

Sto lavorando a un progetto suddiviso tra più casse. La cassa di livello superiore (l'app) richiede le due altre casse (librerie) come dipendenze. L'esecuzione di cargo test nella gabbia di livello superiore crea le dipendenze ed esegue i test per la cassa di livello superiore, ma non esegue test per le altre due casse. C'è un modo per configurare cargo test in modo che esegua i test in tutte e tre le casse?Come eseguire i test di carico per le dipendenze locali?

Grazie!

+0

Suppongo che la semplice sostituzione delle directory e il caricamento del carico da lì non sia una soluzione sufficiente? – Shepmaster

+0

@Shepmaster Voglio eseguire la build su CI, quindi preferirei essere in grado di eseguire tutti i comandi relativi alla directory dei sorgenti di primo livello. 'cd' è il mio piano di backup. –

risposta

6

È possibile passare il parametro -p per consentire a Cargo di eseguire i test di una dipendenza.

Quindi, se la vostra cassa è chiamato sublib, è possibile eseguire i test utilizzando:

cargo test -p sublib 

Da cargo test --help:

SPEC -p, --Pacchetto SPEC pacchetto per l'esecuzione dei test per

Se viene fornito l'argomento --package, SPEC è una specifica di pacchetto che indica quale pacchetto deve essere testato. Se non è dato , allora il pacchetto corrente è testato. Per ulteriori informazioni su SPEC e il relativo formato, consultare il comando cargo help pkgid.

+0

Eccellente, grazie! –

+0

Voglio solo aggiungere, questo può essere utilizzato più volte. Ad esempio, se si desidera testare la cassa corrente E le casse raggruppate, è possibile eseguire 'cargo test -p bundled1 -p bundled2 -p main_crate' – andrew

Problemi correlati