我sometimes see Rust crate 有一个名为 systest
的文件夹。我猜这个名字代表“系统测试”,但我找不到任何相关文档。
我的问题是:
systest
的目的是什么?只是测试一个 crate 是否编译正常,或者还测试另一个 crate 中的某些代码是否运行良好?- 编写
systest
时要遵循哪些规则?它只是一个名为systest
的文件夹中的箱子吗? - 为什么
systest/src
中的lib.rs
似乎总是包含一个从build 生成的文件
?all.rs
。 rs
最佳答案
systest
不是 Rust 或 Cargo 中使用的标准名称。但是,这是 ctest 的文档建议的名称。 ,它对 FFI 绑定(bind)执行自动测试。 build.rs 使用 ctest
生成包含测试的 all.rs 文件,该文件包含在主文件中。
根据文档,生成的测试包括确保所有函数签名、常量值、结构布局/对齐、类型大小/对齐等都匹配它们的 C 等价物。
关于rust - 什么是 Rust 系统测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47694085/