在linux系統中利用rust開展單元測試非常便捷。Rust自帶了一個叫做cargo的包管理與構建工具,它能夠自動完成項目的構建、運行和測試任務。下面介紹在Linux系統下通過Rust執行單元測試的具體步驟:
- 首先,請確認你已經安裝了Rust語言環境。如果沒有安裝,請前往Rust官方站點(https://www.php.cn/link/2279b01a87d3193171af55ee407cb8df。
- 使用cargo命令創建一個新的Rust項目(如果尚未有現成的項目):
cargo new my_project cd my_project
該操作會在當前路徑下新建一個名為my_project的文件夾,并生成一個基礎的Rust項目結構。
- 在src/lib.rs(適用于庫項目)或src/main.rs(適用于可執行程序)中編寫你的功能代碼。例如,在src/lib.rs中添加如下函數:
pub fn add(a: i32, b: i32) -> i32 { a + b }
- 接著在同一文件中(如src/lib.rs),為你的函數編寫對應的單元測試代碼。使用#[cfg(test)]屬性標注測試模塊,并為每個測試方法加上#[test]屬性。示例代碼如下:
#[cfg(test)] mod tests { use super::*; #[test] fn test_add() { assert_eq!(add(2, 2), 4); assert_eq!(add(-1, 1), 0); assert_eq!(add(0, 0), 0); } }
- 完成編輯后保存文件,并在終端中執行cargo test命令。此命令會編譯整個項目并自動運行所有標記為測試的方法。最終的測試結果將輸出在控制臺中,類似如下內容:
running 1 test test tests::test_add ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
在這個示例中,我們只定義了一個名為test_add的測試方法,并且它成功通過了測試。
你可以隨時新增更多測試方法并在需要時再次運行cargo test,以驗證代碼是否始終符合預期行為。Rust會自動識別并執行所有帶有#[test]注解的函數。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END