前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >rust的单测和文档

rust的单测和文档

原创
作者头像
李子健
发布2022-05-04 11:54:02
发布2022-05-04 11:54:02
5460
举报
文章被收录于专栏:每日一善每日一善

测试的目的:

  • 发现问题
  • 保证项目长期的健壮性和可维护性
  • 单元测试是重构的保证,编写无状态函数

rust的单元测试

  • 内置测试框架:属性和宏
  • 断言宏assert!, assert_eq!,assert_ne!,debug_assert!

运行测试

代码语言:rust
复制
#[test]
fn basic_test() {
    assert!(true);
}
//RUST_TEST_THREADS = 1
//rustc --test xxx.rs 
  • 隔离测试单独构建测试的文件夹和src同级
    • cargo test
  • 故障测试 #should_panic
  • 忽略测试 #ignore

集成测试

  • 和代码同时创建目录tests

rust的性能测试

使用依赖的包

代码语言:text
复制
[dev-dependencies]
criterion = "0.3.5"
代码语言:rust
复制
//src/lib/sum.rs

pub fn sum(a :i8, b:i8) -> i8 {
    a + b
}



//bench_x/benches/bench_x.rs

#[macro_use]
extern crate criterion;

extern crate bench_x;

use bench_x::{sum};

use criterion::Criterion;

fn sum_benchmark(c: &mut Criterion) {
    c.bench_function("sum 8", |b| b.iter(|| sum(0001,12)));
}

criterion_group!(fib_bench, sum_benchmark);
criterion_main!(fib_bench);
image.png
image.png

rust的文档自动生成

文档

  • 原始级//或者/* */
  • 模块级 //! /*!
  • 生成文档cargo doc --no-deps

文档列表

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试的目的:
  • rust的单元测试
  • rust的性能测试
  • rust的文档自动生成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档