Ho il seguente codice definente un percorso in cui i file generati possono essere posizionati:Dove dovrei inserire le funzioni di utilità di test in Rust?
fn gen_test_dir() -> tempdir::TempDir {
tempdir::TempDir::new_in(Path::new("/tmp"), "filesyncer-tests").unwrap()
}
Questa funzione è definita tests/lib.rs
, utilizzato nelle prove in quel file e vorrebbe anche utilizzare nelle prove di unità situato in src/lib.rs
.
È possibile ottenere questo risultato senza compilare le funzioni di utilità nel binario non di test e senza codice di duplicazione?
Non puoi spostare tale funcionality in 'src/lib.rs' e poi utilizzarlo in' test/lib.rs'? –
@DanielFath Ho provato questo e annotato con '# [test]' per evitare di compilarlo in release-binary e ho ricevuto questo errore: "le funzioni utilizzate come test devono avere la firma fn() ->()" – PureW
Puoi provare a mettere ' #cfg (not (test)) 'che rimuoverà il codice durante le fasi non di test. –