As far as I know to skip a test case the simplest thing to do is to remove the @Test
annotation, but to do it over a large number of test cases is cumbersome. I was wondering if there is any annotation available in JUnit to turn off few test cases conditionally.
System Property Conditions Now, if we want to enable our tests based on JVM system properties, we can use the @EnabledIfSystemProperty annotation.
The best way to disable a test method is to use the @Disabled annotation. @Disabled annotation is used to tell JUnit 5 engine that the annotated test class or test method is currently disabled and should not be executed. Test method will not be executed and will be included in the test report as a disabled test.
Hard to know if it is the @Ignore
annotation that you are looking for, or if you actually want to turn off certain JUnit tests conditionally. Turning off testcases conditionally is done using Assume
.
You can read about assumptions in the release notes for junit 4.5
There's also a rather good thread here on stack over flow: Conditionally ignoring tests in JUnit 4
As other people put here @Ignore ignores a test.
If you want something conditional that look at the junit assumptions.
http://junit.sourceforge.net/javadoc/org/junit/Assume.html
This works by looking at a condition and only proceeding to run the test if that condition is satisfied. If the condition is false the test is effectively "ignored".
If you put this in a helper class and have it called from a number of your tests you can effectively use it in the way you want. Hope that helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With