如何在rust中使用属性禁用单元测试?

ar7v8xwq  于 2023-02-16  发布在  其他
关注(0)|答案(2)|浏览(112)

一个模块包含多个测试,如下所示:

#[cfg(test)]
mod tests_cases {

    /*
    #[test]
    fn test_1() {
        let a = 1;
        let b = 2;
        println!("{},{}", a, b);
        assert_ne!(a, b);
    }
    */

    #[test]
    fn test_2() {
        let c = 1;
        let d = 1;
        println!("currently working on this: {},{}", c, d);
        assert_eq!(c, d);
    }
}

在输出可见的情况下进行第二个测试(cargo test -- --nocapture)时,我不想看到第一个测试的输出。
是否有禁用注解单元测试的选项?或者是否有只运行第二个单元测试的选项?

7ajki6be

7ajki6be1#

另一个选项是添加#[ignore]属性。

#[ignore]
#[test]
fn test_1() {
    let a = 1;
    let b = 2;
    println!("{},{}", a, b);
    assert_ne!(a, b);
}

这将为测试结果添加一个漂亮的彩色忽略。

test tests::test_1 ... ignored
test tests::test_2 ... ok

test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s

来源:除非特别要求,否则忽略某些检测

n9vozmp4

n9vozmp42#

如果从不需要的测试中删除#[test]属性,则cargo test将忽略它。

相关问题