在 Rust 中,集成测试是用来测试库 <font style="color:rgb(13, 13, 13);">crate</font> 的公共 <font style="color:rgb(13, 13, 13);">API</font> 的功能是否按照预期工作。与单元测试不同,集成测试通常在库的外部编写,它们使用库的同样方式来调用公共 <font style="color:rgb(13, 13, 13);">API</font>,就像其他代码一样。这有助于确保你的库作为一个整体正常工作,并且用户能够正确地使用你的 <font style="color:rgb(13, 13, 13);">API</font>

    <font style="color:rgb(13, 13, 13);">Rust</font><font style="color:rgb(13, 13, 13);">Cargo</font> 工具为集成测试提供了专门的支持。默认情况下,集成测试文件放在项目目录的 **tests** 目录中。每个文件都被当作一个单独的集成测试套件来编译。

    当你运行 **cargo test** 命令时,<font style="color:rgb(13, 13, 13);">Cargo</font> 不仅会运行单元测试,还会编译并运行 **tests** 目录下的每个测试文件。
    1. ├── Cargo.lock
    2. ├── Cargo.toml
    3. ├── src
    4. └── lib.rs
    5. └── tests
    6. └── sum.rs
    1. use integration_test::sum;
    2. #[test]
    3. fn sum_test() {
    4. assert_eq!(sum(6, 8), 14);
    5. }

    代码中测试的 sum方法必须为公有方法,sum.rs才有权限调用测试。