Я считаю, что переменная среды CARGO_MANIFEST_DIR
может дать вам стабильную базовую точку:
use std::path::PathBuf;
fn main() { }
#[test]
fn test() {
let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
d.push("resources/test");
println!("{:?}", d);
assert!(false);
}
Некоторая информация, полученная из Как программа Rust может получать метаданные из своего пакета Cargo? .