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

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

相关推荐
muyouking112 小时前
4.Rust+Axum Tower 中间件实战:从集成到自定义
开发语言·中间件·rust
Source.Liu4 小时前
【TeamFlow】4.2 Yew库详细介绍
rust·yew
勇敢牛牛_4 小时前
【MRAG】使用RAG技术增强AI回复的实时性和准确性
rust·知识库·rag
techdashen6 小时前
性能比拼: Rust vs Zig vs Go
开发语言·golang·rust
muyouking119 小时前
9.Rust+Axum 测试驱动开发与性能优化全攻略
驱动开发·性能优化·rust
sukalot10 小时前
Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(十)
驱动开发
阿阳热爱前端11 小时前
BongoCat 桌宠全新升级!开源 × 跨平台,快来撸猫!
前端·rust·app
阿廖沙102416 小时前
前端开发工程师的Rust入门
rust
pumpkin845141 天前
学习笔记十七——Rust 支持面向对象编程吗?
笔记·学习·rust
Source.Liu1 天前
【TeamFlow】3 Rust 与 WebAssembly (Wasm) 深度应用指南
rust·wasm