我如何在运行时仅包含用于基准测试的软件包?
目标文档表明这是可能的,但我无法使其起作用。 https://doc.rust-lang.org/cargo/reference/cargo-targets.html
目标文档表明这是可能的,但我无法使其起作用。 https://doc.rust-lang.org/cargo/reference/cargo-targets.html
基准测试依赖项在cargo.toml
中不会有自己的部分。您需要将它们放入[dev-dependencies]
与测试依赖项一起。
如@Dogbert在评论中指出,有一个相关问题: https://github.com/rust-lang/cargo/issues/1596
还有一个有用的建议是将基准测试/快速检查移到一个单独的存储库并使用公共接口。
@bluss于2020年5月2日发表评论。对于像基准测试这样的情况, 目前我建议您使用一个额外的非发布的crate,将其放在相同的存储库中, 该crate依赖于您的库并包含基准测试。当然,它需要使用公共API, 但在大多数情况下这是可以的。作为例子,ndarray有一个 blas-tests的子目录,运行依赖于BLAS的测试。