#directory #test #per #create #run #macro #fixture-attribute

per_test_directory

为每个测试运行创建一个目录的属性宏

1 个不稳定版本

0.1.0 2019年9月10日

#33#per

MIT 许可证

4KB
56 代码行

per_test_directory

此crate引入了一个属性宏#[per_test_directory],在运行时会在test_runs/module_name.test_function_name目录下创建一个目录,并将当前工作目录更改为该目录。

如果测试成功,则删除目录。否则,保留以供检查。无论哪种情况,测试运行后都会重置当前目录。

示例

#[cfg(test)]
mod tests {
    use std::fs::File;
    use std::io::prelude;

    #[test]
    #[per_test_directory_macros]
    fn test_example() {
        let mut f = File::create("foo.txt")?;
        //actually in test_runs/tests.test_example/foo.txt
        file.write_all(b"hello");
        panic!("let's keep the file!");
    } }

依赖关系

~1.5MB
~34K SLoC