[英]How do you run the main binary and then run tests based on it in Rust?
[英]How to write regression tests for a Rust binary crate?
兩種選擇:
將您的代碼拆分為一個庫和一個二進制文件: src/lib.rs
和src/main.rs
。 然后您可以編寫可以加載庫部分的tests/
測試。
如果您特別想利用tests/
測試(“集成測試”)本身就是單獨的二進制文件這一事實(例如,如果您要測試的代碼使用全局變量或影響全局狀態的系統調用),則此選項是最佳選擇.
您可以在二進制代碼中編寫#[test]
測試,而無需將它們直接放在src/main.rs
文件中。 只需編寫mod tests;
或mod tests { mod regress1; }
mod tests { mod regress1; }
並將您的測試放在src/tests/regress1.rs
中,然后像往常一樣在該文件中編寫#[test]
函數。 (或者,如果您真的希望它們位於不同的目錄中,請在mod
上使用#[path]
屬性。)
此選項允許更快的測試執行,因為測試不是單獨的二進制文件,並且將由 Rust 測試工具在線程中並行運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.