gpt4 book ai didi

rust - 如何在文档测试中使用具有 `test` 属性的模块?

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

我有一个模块,我想在文档的代码块中使用它。

此模块仅用于测试,因此它具有应保留的 #![cfg(test)] 属性。

但是,结果是,在对文档运行测试时似乎没有包含此文件。

看看 MVCE:

lib.rs

//! ```
//! use example::mock::Number;
//! ```
pub mod mock;

pub fn main() {}

模拟.rs

#![cfg(test)]

pub type Number = i32;

这失败了:

---- src/lib.rs -  (line 1) stdout ----
error[E0432]: unresolved import `example::mock`
--> src/lib.rs:2:14
|
4 | use example::mock::Number;
| ^^^^ could not find `mock` in `example`

有没有办法让我的文档测试代码使用这些为测试配置的文件?

最佳答案

这是 doctest ( Issue #45599) 的一个已知限制。遗憾的是,自问题开始(2017 年底)以来没有取得任何实质性进展。

作为解决方法,it is suggested您向 Cargo.toml

添加功能
[features]
test = []

您可以执行 #[cfg(feature = "test")] 而不是检查 #[cfg(test)]

关于rust - 如何在文档测试中使用具有 `test` 属性的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725551/

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