I'm forced to use JUnit 3. If I were using JUnit 4, I would occasionally use @Ignore
since several of my tests take a bit of time.
Is there anything analogous in JUnit 4? Commenting out tests is sloppy, and changing the name (from testXxx()
) could lead to forgotten tests. @Ignore
is great, because it always reminds you which tests were not run.
Does anyone have a best practice for running some of a test classes methods in JUnit 3?
The @Ignore annotation helps in this scenario. A test method annotated with @Ignore will not be executed. If a test class is annotated with @Ignore, then none of its test methods will be executed.
You press the 'Stop JUnit test run' wanting to halt the execution immediately. And it doesn't! Then you must go to the Debug view (why that name? i'm not debugging, i'm running) and 'Terminate' it from there.
In order to conditionally ignore tests in Robotium / JUnit 3, I override runTest()
like
@Override protected void runTest() throws Throwable { // Do nothing if the precondition does not hold. if (precondition) { super.runTest(); } }
Tests which are ignored this way will show up as "Success" in Eclipse, but as there is no "Ignored" state with JUnit 3, this is the best I was able to get.
I don't know any other solution apart from commenting out tests or renaming them. I would go for the renaming option and use my own convention. For example all of them will start with ignoreXXX(). Then you can do one find/replace with your editor and you are ready.
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