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

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

相关推荐
修仙的人2 小时前
Rust + WebAssembly 实战!别再听说,学会使用!
前端·rust
alwaysrun8 小时前
Rust中的特征Trait
rust·trait·impl trait·dyn trait·派生特征
为java加瓦8 小时前
Rust 的类型自动解引用:隐藏在人体工学设计中的魔法
java·服务器·rust
leiteorz10 小时前
第三章 Ownership与结构体、枚举
rust
广药门徒11 小时前
Linux驱动开发与BuildRoot是什么关系与其的应用场景
linux·运维·驱动开发
alwaysrun18 小时前
Rust中所有权和作用域及生命周期
rust·生命周期·作用域·所有权·引用与借用
驱动开发00719 小时前
虚拟麦克风驱动下载,支持将手机话筒映射成PC端麦克风
驱动开发·安全
驱动开发0071 天前
虚拟摄像头VirtualUSB UVC CAMERA下载 支持将手机摄像头映射成PC端摄像头
驱动开发·安全·电脑
天山老妖的混世牛魔王1 天前
WDF驱动开发-PNP和电源管理
驱动开发
FleetingLore1 天前
Rust | str 常用方法
rust