6
我有以下代碼定義路徑,其中生成的文件可以放置:我應該在Rust中將測試實用函數放在哪裏?
fn gen_test_dir() -> tempdir::TempDir {
tempdir::TempDir::new_in(Path::new("/tmp"), "filesyncer-tests").unwrap()
}
此函數在tests/lib.rs
定義,在該文件中的試驗中使用的,我也想在單元測試使用它位於src/lib.rs
。
如果不將函數函數編譯到非測試二進制文件中並且沒有重複代碼,可以實現這種功能嗎?
不能你說的funcionality進入'SRC/lib.rs',然後在'使用測試/ lib.rs'? –
@DanielFath我試過這個並用'#[test]'註釋以避免編譯成release-binary並收到這個錯誤:「用作測試的函數必須有簽名fn() - >()」 – PureW
你可以試着把' #cfg(not(test))'這會在非測試階段刪除你的代碼。 –