【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:重构代码

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

相关推荐
路溪非溪6 分钟前
如何使用sysfs来排查驱动问题
linux·arm开发·驱动开发
沉淀粉条形变量3 小时前
rust 单例模式
开发语言·单例模式·rust
路溪非溪3 小时前
如何使用procfs来排查问题
linux·arm开发·驱动开发
青桔柠薯片4 小时前
Linux 设备驱动开发环境构建与系统启动机制剖析
linux·arm开发·驱动开发·imx6ull
Clarence Liu4 小时前
langchain源码研究 - deepagents设计思想学习
人工智能·驱动开发·学习·langchain
skilllite作者4 小时前
SkillLite 多入口架构实战:CLI / Python SDK / MCP / Desktop / Swarm 一页理清
开发语言·人工智能·python·安全·架构·rust·agentskills
Rust研习社4 小时前
深入理解 Rust 闭包:从基础语法到实战应用
rust
Rust研习社4 小时前
Rust 时间处理神器:chrono 从入门到实战
rust
Rust研习社5 小时前
Rust 异步 ORM 新选择:Toasty 初探
rust
星辰徐哥5 小时前
异步定时任务系统的设计与Rust实战集成
开发语言·后端·rust