写个简单的TDD练练手。
需求描述
我们要实现一个简单的功能:计算两个整数的和。
步骤 1:编写失败的测试用例
首先,创建一个新的 Rust 项目,并用 VS Code 打开:
bash
cargo new test_tdd --lib
cd .\test_tdd\
code .
默认的库文件里包含了一个加法的实现,这里直接把实现改成报错:
rust
pub fn add(left: usize, right: usize) -> usize {
// left + right
unimplemented!()
}
如果你没有,那我把完整的代码贴出来:
rust
pub fn add(left: usize, right: usize) -> usize {
// left + right
unimplemented!()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
运行测试:
bash
cargo test
不出意外,测试失败了:
步骤 2:编写代码使测试通过
修改add函数的实现,让测试能够通过。
rust
pub fn add(left: usize, right: usize) -> usize {
left + right
}

步骤 3:重构代码
此处无需重构了,足够简洁。