【Rust】使用 Rust 语言实践完整的 TDD(测试驱动开发)流程

写个简单的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:重构代码

此处无需重构了,足够简洁。

相关推荐
UestcXiye8 小时前
Rust 学习笔记:Box<T>
rust
Kapaseker9 小时前
Android程序员初学Rust-错误处理
rust
用户276920244534610 小时前
基于 Tauri + Vue3 的现代化新流串口调试助手 v2
前端·rust
Narnat11 小时前
Rk3568驱动开发_GPIO点亮LED_12
驱动开发
Humbunklung11 小时前
Rust 数据类型
开发语言·后端·rust
寻月隐君11 小时前
Rust 所有权:从内存管理到生产力释放
后端·rust·github
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO11 小时前
Rust学习(1)
javascript·学习·rust
UestcXiye21 小时前
Rust 学习笔记:关于 Cargo 的练习题
rust
love530love1 天前
Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案
前端·人工智能·windows·后端·docker·rust·开源