我正在编写一个板条箱,其中包含一些针对我的特征的模拟实现。这些特征将在我的测试中使用。
由于这个箱子仅用于测试,我想强制它仅包含在
dev-dependencies
文件的 Cargo.toml
中。
我怎样才能实现这一目标?
我尝试查看清单文件:https://doc.rust-lang.org/cargo/reference/manifest.html但我找不到任何可以放入 Cargo.toml 中指定的参数该库只能作为开发依赖项导入。
不可能像你说的那样做,但你可以用稍微不同的方式做同样的事情。看看关于如何将测试模拟导出到外部板条箱的Faux想法:https://nrxus.github.io/faux/guide/exporting-mocks.html我认为你可以对自己的模拟做同样的事情还有。
这个想法基本上是有一个 feature 标志,可以启用您在板条箱中创建的模拟。前任。
mocks
功能:
#[cfg(feature = "mocks")]
struct Something { ... }
在您的板条箱中定义它,但默认情况下不启用它:
Cargo.toml
并且使用另一个板条箱中的板条箱,并且仅在dev
中启用模拟:
[features]
mocks = []
default = []