Goes to show you, that you can teach an old dog new tricks. After years of using Eclipse I stumbled across a feature I am sure has existed since the glory days of Visual Age.
I had added yet another test method to a large JUnit TestCase class. I wanted to just run and re-run the new method 'til I had it just right without having to run all the other methods as well.
Yes of course, I could comment out all the other methods or just remove the @Test annotation. Back in the JUnit 3 days we have all -- at one time or another -- disabled tests by changing the "test" prefix of the test methods.
Somehow today, all these seemed abhorrent.
I wondered what would happen if I simply highlighted the method I wanted to test, and selected Run As > JUnit Test from the context menu.
Voila! That was the ticket!! It ran just the test I had wanted run.
As a bonus it even added TestCase.method_name as a "Run Configuration" for ease of future use.
FTW!
Subscribe to:
Post Comments (Atom)
What Version of Eclipse?
ReplyDeleteWith my Version: 3.3.2
Build id: M20080221-1800
this does not work. :-(
Jürgen:
ReplyDeleteI am using Eclipse 3.4.1 (Build id: M20080911-1700)
Sri
It is rather the choice of Test Runner.
ReplyDeleteSingle Test of a method doesn't work with JUnit 4
It works with JUnit 3
Eclipse 3.4.2
Right click Test method
Choose Run As > Run Configurations...
On Test Tab
Make sure "Run a Single test" radio is checked
"Test Runner" drop down select JUnit 3 instead of JUnit 4
Avi
This is a good post on Junit.
ReplyDelete--Gautan
I had the same problem as Jurgen with JUnit 4 and Eclipse 3.4.1 -- couldn't run single test. But I found a suggestion somewhere else that resolved the problem. My test class was still extending junit.framework.TestCase. When I stopped extending TestCase, everything worked fine and I was able to run single JUnit tests with the JUnit 4 test runner. Of course, I needed to JUnit 4 annotations use static imports for the assert methods, but I had already done that -- I had just not removed the TestCase inheritance.
ReplyDeleteI tried to run a test case method and it gives me a class not found exception on the test class. I verified the class had been compiled by locating the class file. Anyone have any thoughts here?
ReplyDeleteI tried what the other Anon wrote, but no luck. I also think that is a weird way to go.
This is so cool. In Visual Studio you have such a feature, I was looking for it here and, yes, it is, it really is.
ReplyDeleteThanks for sharing this!