代码之家  ›  专栏  ›  技术社区  ›  lovelikelando

如何将所有板条箱包含在测试目录内的工作区中?

  •  1
  • lovelikelando  · 技术社区  · 7 年前

    我有一个二进制Rust项目,它使用工作区来管理子板条箱。

    目录结构

    /myapp
      Cargo.toml
      /src
      /tests
        test.rs
      /crates
        /printer
          Cargo.toml
          /src
    

    我的应用程序/货物。汤姆

    [package]
    name = "myapp"
    
    [workspace]
    members = ["crates/printer"]
    

    的内部 test.rs 我可以编译 extern crate myapp; 拉入应用程序中暴露在中的部分 src/lib.rs . 这正如预期的那样。

    但是,在尝试编译时 extern crate printer; 它的错误在于它找不到它。我已确认打印机包已正确放置在顶层 Cargo.lock 文件

    如何将我的子板条箱纳入 /tests 顶层目录?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Shepmaster Tim Diekmann    7 年前

    工作区甚至测试的概念都没有什么特别之处。如果要在Rust code中使用板条箱,必须将其添加为依赖项:

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

    另请参见: