【问题标题】:How can I locate resources for testing with Cargo?如何找到使用 Cargo 进行测试的资源?
【发布时间】:2015-07-12 07:00:05
【问题描述】:

我正在进行一个与文件交互的项目,我想使用文本文件来测试我的工作。但是测试不是从tests/ 目录运行的,因此在运行cargo run 时我无法可靠地找到它们。

Cargo 是否总是通过从根目录运行测试来处理这个问题(似乎是这种情况,但我没有找到任何证据)?

【问题讨论】:

    标签: testing rust rust-cargo


    【解决方案1】:

    环境变量CARGO_MANIFEST_DIR可以给你一个稳定的基点来引用其他文件。在这里,我们假设在 crate 的顶层有一个 resources/test 目录:

    use std::path::PathBuf;
    
    fn main() {
        let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
        d.push("resources/test");
    
        println!("{}", d.display());
    }
    

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 2011-02-28
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多