gpt4 book ai didi

testing - 如何为 Rust 二进制 crate 编写回归测试?

转载 作者:行者123 更新时间:2023-12-03 08:23:05 33 4
gpt4 key购买 nike

过去有很多类似的帖子1 2 3 4但它们似乎都已经过时或无关紧要。

我的问题是:如何为 Rust 二进制文件编写回归测试?

我可以在我的 src/main.rs 文件中将它们设置为“单元测试”,但这很烦人。理想情况下,它将设置为

root
|---src
|---main.rs
|---foo.rs
|---bar.rs
|---tests
|---regress1.rs
|---regress2.rs

最佳答案

两个选项:

  1. 将代码拆分为库和二进制文件:src/lib.rssrc/main.rs。然后您可以编写可以加载库部分的 tests/ 测试。

    如果您特别想利用 tests/ 测试(“集成测试”)本身就是单独的二进制文件(例如,如果您要测试的代码使用影响全局状态的全局变量或系统调用)。

  2. 您可以在二进制代码中编写 #[test] 测试,而无需将它们直接放入您的 src/main.rs文件。只需编写 modtests;modtests{modregress1; } 并将测试放入 src/tests/regress1.rs 中,并在该文件中像往常一样编写 #[test] 函数。 (或者,如果您确实希望它们位于不同的目录中,请使用 mod 上的 #[path] 属性。)

    此选项可以加快测试执行速度,因为测试不是单独的二进制文件,而是由 Rust 测试工具在线程中并行运行。

关于testing - 如何为 Rust 二进制 crate 编写回归测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67248341/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com