我正在编写一个从文件中读取文件内容的服务,该位置是从环境变量中读取的 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 测试中访问外部文件?
最佳答案
Cargo 设置环境变量 CARGO_MANIFEST_DIR
到包含您的 Cargo.toml
的目录文件。所以你可以得到那个环境变量,并附加 resources/test/test_file.json
到它。
见 https://doc.rust-lang.org/cargo/reference/environment-variables.html Cargo 设置什么环境变量。
关于unit-testing - 在 Rust 测试中使用外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59586527/