如何在测试目录中的工作空间中包含所有包装箱?

时间:2018-02-06 02:36:39

标签: rust rust-cargo

我有一个二进制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目录中?

1 个答案:

答案 0 :(得分:2)

工作空间甚至测试的概念都没有什么特别之处。如果要在Rust代码中使用crate,则必须将其添加为依赖项:

[dependencies]
printer = { path = "crates/printer" }

另见: