gpt4 book ai didi

rust - 如何运行库测试和文档测试而不是集成测试

转载 作者:行者123 更新时间:2023-11-29 07:50:56 25 4
gpt4 key购买 nike

是否可以使用 cargo 命令运行库测试(即,cargo test --lib)和文档测试没有运行任何集成测试(即 crate 的顶级 tests 目录中的测试)?在不运行集成测试的情况下编译集成测试可获得奖励积分。

这是更大的图景。我的箱子是 Web 服务的客户端库,而 HTTP 服务器不是箱子的一部分。我将我的箱子组织成:

  1. 库测试,依赖于 HTTP 服务器,
  2. 文档测试,依赖于 HTTP 服务器,以及
  3. 集成测试,要求 HTTP 服务器在本地主机上运行。

因此,让 HTTP 服务器在构建 crate 的机器上运行有时是不可行的——例如,Travis CI 构建代理。在这些情况下,我想构建所有测试但排除所有集成测试运行,因为每个集成测试都会失败。

最佳答案

查看 cargo help test(您可能有):

  • 仅在库中运行测试:cargo test --lib
  • 仅运行文档测试:cargo test --doc
  • tests/ 中构建测试而不运行它们:cargo test --no-run --test NAME,但您需要自己枚举它们。同样,在这里向 Cargo 添加一些东西可能是有意义的。

与此同时,集成测试实际上是将您的库用作依赖项的独立箱子。您可以使用 Cargo.toml 文件和 [dependencies] foo = {path = "..."} 使它们显式化,以便 cargo test 不带参数在你的主 crate 上不运行它们。

关于rust - 如何运行库测试和文档测试而不是集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793506/

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