如何强制板条箱仅在开发依赖项中可用

问题描述 投票:0回答:1

我正在编写一个板条箱,其中包含一些针对我的特征的模拟实现。这些特征将在我的测试中使用。

由于这个箱子仅用于测试,我想强制它仅包含在

dev-dependencies
文件的
Cargo.toml
中。

我怎样才能实现这一目标?

我尝试查看清单文件:https://doc.rust-lang.org/cargo/reference/manifest.html但我找不到任何可以放入 Cargo.toml 中指定的参数该库只能作为开发依赖项导入。

rust mocking rust-cargo
1个回答
0
投票

不可能像你说的那样做,但你可以用稍微不同的方式做同样的事情。看看关于如何将测试模拟导出到外部板条箱的Faux想法:https://nrxus.github.io/faux/guide/exporting-mocks.html我认为你可以对自己的模拟做同样的事情还有。

这个想法基本上是有一个 feature 标志,可以启用您在板条箱中创建的模拟。前任。

mocks
功能:

#[cfg(feature = "mocks")]
struct Something { ... }

在您的板条箱中定义它,但默认情况下不启用它:

Cargo.toml

并且使用另一个板条箱中的板条箱,并且仅在 
dev

中启用模拟: [features] mocks = [] default = []

© www.soinside.com 2019 - 2024. All rights reserved.