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

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

相关推荐
小杍随笔26 分钟前
【Rust后端缓存设计实战:从本地moka到Redis多层架构的避坑指南】
redis·缓存·rust
零点一顿微胖36 分钟前
[Agent] 初始化Agent服务 Rust版
开发语言·网络·rust
alwaysrun19 小时前
Rust之代数数据类型Enum
后端·rust·编程语言
疏狂难除20 小时前
随便玩玩lldb(三)
rust·lldb
右耳朵猫AI21 小时前
Rust技术周刊 2026年第19周
开发语言·后端·rust
董厂长1 天前
规范驱动开发(Spec-Driven Development):一个批判性审视
人工智能·驱动开发
董厂长1 天前
规范驱动开发(Spec-Driven Development)深度解析
驱动开发
楼兰公子1 天前
RK3588 Linux驱动开发大纲
linux·驱动开发
智者知已应修善业1 天前
【分立元件OCL电路】2024-5-17
驱动开发·经验分享·笔记·硬件架构·硬件工程
古城小栈1 天前
cargo-pprof:Rust性能调优
人工智能·算法·rust