如何仅将依赖项的功能用于测试?

How do I use a feature of a dependency only for testing?

比如说,我有一个带有可选功能的依赖项的板条箱。现在这个特性主要用于测试,但 crate 本身是整个代码的依赖项。是否可以指示 cargo 仅使用该功能进行测试?

在我的具体示例中,可选功能依赖于 quickcheck,我不一定要为我的板条箱的用户强制依赖。

您可以 use a feature for a development dependency 就像处理常规依赖项一样。在 quickcheck 的情况下,它的唯一特征是 collect_impls,因此您可以将其添加到您的 Cargo.toml:

[dev-dependencies.quickcheck]
version = "*"
features = ["collect_impls"]

N.B。这实际上在 quickcheck 内部做错了。我 just fixed it0.1.29.