- Learning Rust
- Paul Johnson Vesa Kaihlavirta
- 208字
- 2021-07-02 23:07:14
Using Cargo to help with your unit testing
Hopefully, unit testing is not something you will be unfamiliar with. A unit test is a test that operates on a specific function or method rather than an entire class or namespace. It ensures that the function operates correctly on the data it is presented with.
Unit tests within Rust are very simple to create (two examples are given in the assert_unittest and unittest directories). The following has been taken from the unittest example:
fn main() { println!("Tests have not been compiled, use rustc --test instead (or cargo test)"); } #[test] fn multiply_test() { if 2 * 3 == 5 { println!("The multiply worked"); } }
When this is built and executed, you may be surprised by the following result:

The reason why this unit test has passed despite 2 x 3 not being 5 is because the unit test is not testing the result of the operation, but that the operation itself is working. It is very important that this distinction is understood from an early stage to prevent confusion later.
We have hit a limitation of unit testing: if we are not testing the data but the operation, how can we know that the result itself is correct?
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- Learning Linux Binary Analysis
- Java程序員面試算法寶典
- Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務
- 青少年Python編程入門
- Hands-On Natural Language Processing with Python
- Building Serverless Applications with Python
- Python忍者秘籍
- Learning ArcGIS for Desktop
- Building Serverless Architectures
- Machine Learning for Developers
- Mastering SciPy
- Applied Deep Learning with Python
- Node.js應用開發
- MongoDB Cookbook