HiveBrain v1.2.0
Get Started
← Back to all entries
snippetrustCritical

How to disable a unit test in rust with an attribute?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
withhowdisableattributeunitrusttest

Problem

A module contains multiple tests like following:
#[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);
}
}



When working on the second tests with output visible
(cargo test -- --nocapture),
I do not want to see the output of the first tests.

Is there an option to disable the commented unit test? Or is there an option to just run the second unit test?

Solution

Another option is to add the #[ignore] attribute.
#[ignore]
#[test]
fn test_1() {
let a = 1;
let b = 2;
println!("{},{}", a, b);
assert_ne!(a, b);
}


This adds a nice colored ignored to the test results.

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


Source:
Ignoring Some Tests Unless Specifically Requested

Code Snippets

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

Context

Stack Overflow Q#69784195, score: 104

Revisions (0)

No revisions yet.