我有一个二进制Rust项目,该项目使用工作区来管理子面板。
目录结构
/myapp
Cargo.toml
/src
/tests
test.rs
/crates
/printer
Cargo.toml
/src
myapp/Cargo.toml
[package]
name = "myapp"
[workspace]
members = ["crates/printer"]
在
test.rs
内部,我可以编译extern crate myapp;
以拉入src/lib.rs
中公开的应用程序部分。这按预期工作。但是,在尝试编译
extern crate printer;
时会出错,无法找到它。我已经确认打印机软件包已正确放置在顶层Cargo.lock
文件中。如何将子弹夹包含在顶层的
/tests
目录中? 最佳答案
工作空间甚至测试的概念都没有什么特别的。如果要在Rust代码中使用 crate ,则必须将其添加为依赖项:
[dependencies]
printer = { path = "crates/printer" }
也可以看看:
关于rust - 您如何将所有包装箱包含在测试目录内的工作区中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48634617/