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

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

相关推荐
Guistar~~2 小时前
【Linux驱动开发IMX6ULL】WS73 驱动移植的详细教程基于USB协议--WIFi网卡、蓝牙BLE、星闪SLE
linux·驱动开发
比奇堡派星星4 小时前
Linux 杂项设备驱动框架详解
linux·arm开发·驱动开发
浪客川5 小时前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈5 小时前
Axum: Rust 好用的 Web 框架
开发语言·rust
古城小栈6 小时前
Rust 并发、异步,碾碎它们
开发语言·后端·rust
木木木一7 小时前
Rust学习记录--C8 常用的集合
开发语言·学习·rust
TDengine (老段)8 小时前
TDengine Rust 连接器入门指南
大数据·数据库·物联网·rust·时序数据库·tdengine·涛思数据
chen_mangoo8 小时前
Rockchip debian预置安装deb包
linux·驱动开发·嵌入式硬件
进击大厂的小白8 小时前
65.设备树下platform_device和platform_driver
驱动开发