2015-05-02 20 views
5

Tôi đang trong một dự án tương tác với các tệp và tôi muốn sử dụng tệp văn bản để kiểm tra tác phẩm của mình. Tuy nhiên các thử nghiệm không chạy từ thư mục tests/ và do đó tôi không thể tìm thấy chúng một cách đáng tin cậy khi chạy cargo run.
Không cargo xử lý việc này bằng cách luôn chạy thử nghiệm từ thư mục gốc (có vẻ như trường hợp này nhưng tôi không tìm thấy bất kỳ điều gì chứng thực nó)?Tìm tài nguyên để thử nghiệm với hàng hóa

Trả lời

10

Tôi tin rằng các biến môi trường CARGO_MANIFEST_DIR thể cung cấp cho bạn một điểm cơ bản ổn định:

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); 
} 

Một số thông tin cribbed từ How can a Rust program access metadata from its Cargo package?.

+0

Nó hoạt động thực sự! Cảm ơn! –

Các vấn đề liên quan