【问题标题】:using external files in rust tests在 rust 测试中使用外部文件
【发布时间】:2020-01-04 09:20:43
【问题描述】:

我正在编写一个从文件中读取文件内容的服务,该位置是从环境变量FILE_LOCATION中读取的。

fn my_function(){
    let path = match env::var("FILE_LOCATION") {
    ...
    let contents = match fs::read(&path) {
}

我有一个测试文件test_file.json 在:

proj
  resources
    test
      test_file.json
  src
    main.rs
  tests
    unit_tests.rs

在测试中我可以设置FILE_LOCATION:

env::set_var("FILE_LOCATION", "path/to/test/file");

问题是path/to/test/file 的值应该是多少?

或者换句话说:

如何在 Rust 测试中访问外部文件?

【问题讨论】:

    标签: unit-testing rust


    【解决方案1】:

    Cargo 将环境变量 CARGO_MANIFEST_DIR 设置为包含您的 Cargo.toml 文件的目录。因此,您可以获取该环境变量,并将 resources/test/test_file.json 附加到它。

    有关 Cargo 设置的环境变量,请参阅 https://doc.rust-lang.org/cargo/reference/environment-variables.html

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多