單元測試
Rust 和 Cargo 提供了一個簡單的單元測試 (unit test) 框架:
-
在你的程式碼的任何地方都可添加單元測試。
-
整合測試 (integration test) 則可放置在
tests/
資料夾下。
測試會以 #[test]
標示。單元測試通常會位於巢狀的 tests
模組中,使用 #[cfg(test)]
可有條件地編譯測試 (僅限在建構測試時)。
fn first_word(text: &str) -> &str {
match text.find(' ') {
Some(idx) => &text[..idx],
None => &text,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_empty() {
assert_eq!(first_word(""), "");
}
#[test]
fn test_single_word() {
assert_eq!(first_word("Hello"), "Hello");
}
#[test]
fn test_multiple_words() {
assert_eq!(first_word("Hello World"), "Hello");
}
}
- 這有助於您對私人輔助程式進行單元測試。
- 只有在執行
cargo test
時,#[cfg(test)]
屬性才會生效。
This slide should take about 5 minutes.
請在 Playground 中執行測試以顯示結果。