#temp-dir #temp #test #testing-debugging

dev temp_testdir

Little crate to use temp directory in crate. You can chose if delete it after use or not to debugging purpose.

4 releases

Uses old Rust 2015

0.2.3 Oct 3, 2019
0.2.2 Oct 15, 2018
0.2.1 Oct 14, 2018
0.2.0 Oct 14, 2018

#295 in Testing

Download history 3520/week @ 2024-10-09 2889/week @ 2024-10-16 3388/week @ 2024-10-23 5193/week @ 2024-10-30 4356/week @ 2024-11-06 4564/week @ 2024-11-13 10650/week @ 2024-11-20 9503/week @ 2024-11-27 17259/week @ 2024-12-04 43478/week @ 2024-12-11 36524/week @ 2024-12-18 12439/week @ 2024-12-25 30542/week @ 2025-01-01 26757/week @ 2025-01-08 5300/week @ 2025-01-15 3344/week @ 2025-01-22

68,749 downloads per month
Used in 30 crates (27 directly)

MIT/Apache

8KB
159 lines

Working with temporary directories in Rust test

A zero dependencies crate to deal with temporary directories in tests. To use it add

[dev-dependencies]
temp_testdir = "0.2"

How to use

#[test]
fn should_delete_temp_dir() {
    let temp = TempDir::default();
    // You can use `temp` as a `Path`

    let mut file_path = PathBuf::from(temp.as_ref());
    file_path.push("hello.txt");

    let mut f = File::create(file_path.clone()).unwrap();

    f.write_all("Hello World!".as_bytes());

    my_app.process(&file_path);

    // Temp dir will be deleted at the end of the test
}

If you need to not delete the dir when test is done you can use

let temp = TempDir::default().permanent();

Where the dirs are

All dirs will be in your system standard temp dir follow by rstest.<nr> where nr is the lowest integer that can be used to crate it.

You can change this behaviour by two envirorment variables:

  • RSTEST_TEMP_DIR_ROOT: root of all temp dir (default system temp dir)
  • RSTEST_TEMP_DIR_ROOT_NAME: prefix dir name (default system rstest)

License

Licensed under either of

at your option.

No runtime deps