wordpress多重筛选主题,seo网络公司,阿里百秀wordpress,菏泽住房和城乡建设厅网站以下内容为本人的学习笔记#xff0c;如需要转载#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/-OiWtUCUc3FmKIGMBEYfHQ 单元和集成测试
Rust 为单元测试提供了非常好的原生支持。
创建库工程时#xff0c;cargo 生成的源码文件 lib.rs 自带…以下内容为本人的学习笔记如需要转载请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/-OiWtUCUc3FmKIGMBEYfHQ 单元和集成测试
Rust 为单元测试提供了非常好的原生支持。
创建库工程时cargo 生成的源码文件 lib.rs 自带了示例代码而且包含测试函数看看代码
$ cat lib_rust/src/lib.rs
pub fn add(left: usize, right: usize) - usize {left right
}#[cfg(test)]
mod tests {use super::*;#[test]fn it_works() {let result add(2, 2);assert_eq!(result, 4);}
}函数 add 实现两数求和测试函数的 it_works 实现对函数 add 的测试。
cargo 提供了 test 指令启动单元测试
$ cd lib_rust
$ cargo testCompiling lib_rust v0.1.0 (~/lib_rust)Finished test [unoptimized debuginfo] target(s) in 1.67sRunning unittests src/lib.rs (target/debug/deps/lib_rust-996ac7b1e383793c)running 1 test
test tests::it_works ... oktest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00sDoc-tests lib_rustrunning 0 teststest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s测试过程反映了每个测试函数的结果以及汇总。
Cargo 运行的背后
看完上面的内容不禁想问每次运行 cargo 指令时它到底在干什么
执行 cargo 指令时加上 -v 选项可以把执行过程的详细信息打印出来。那么来看看 cargo 清理中间文件和重新执行编译构建的详细过程
$ cd hello_rust/
$ cargo clean -vRemoving ~/hello_rust/target
$ cargo build -vCompiling hello_rust v0.1.0 (~/hello_rust)Running ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name hello_rust --edition2021 src/main.rs --error-formatjson --jsondiagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width89 --crate-type bin --emitdep-info,link -C embed-bitcodeno -C debuginfo2 -C metadata60af8441ea417b4f -C extra-filename-60af8441ea417b4f --out-dir ~/hello_rust/target/debug/deps -C incremental~/hello_rust/target/debug/incremental -L dependency~/hello_rust/target/debug/depsFinished dev [unoptimized debuginfo] target(s) in 0.83s可见cargo 其实是一个包装器(wrapper)在执行编译构建时调用编译器 rustc清理中间文件就是直接删掉文件夹 target。
编译第三方 Rust 包
目前为止上面提到的技巧都以自建工程包为基础但是也可以运用在从网上获取到的 Rust crate包。对待这些第三方包就是下载下来或者用 git 克隆它的仓库代码到本地然后进入包文件夹并启动构建
git clone xxx
cd package-folder
cargo buildmore
关于更多的 cargo 用法可以查看帮助
$ cargo –help本文目标是简单介绍一般开发流程里会用到的 Cargo 构建技巧尝试抛砖引玉帮助 rust 初学者上手工具 cargo 的使用不旨在面面俱到如果你对 cargo 特别感兴趣还可以去看看《cargo book》。
本系列文章已结束谢谢各位读者朋友的支持…