Aaron
Aaron

Reputation: 3399

Junit4: Running a Suite of particular Test methods

Is there a way to create a suite of test methods, not just test classes?

I'd like to put together a test suite that just runs particular tests methods from a test class. I don't see a way to do this from my limited junit knowledge and from searching the web.

Upvotes: 6

Views: 3109

Answers (1)

卢声远 Shengyuan Lu
卢声远 Shengyuan Lu

Reputation: 32004

Use Categories feature in JUnit4.

Example: if some methods scattered both in ATest and BTest are expected to executed :

//Define Categories
@RunWith(Categories.class)  
@IncludeCategory(NeedTest.class)  
@SuiteClasses({ ATest.class,  BTest.class })  
class MySuite{
...
}

Then in ATest and BTest, annotate your expect methods as:

@Test
@Category(NeedTest.class)  
public void test()

When you run MySuite, only the methods annotated with @Category(NeedTest.class) will be executed. Of course, you could create multiple test categories,

ps: NeedTest.class is just a marker class, it can be any class.

Upvotes: 8

Related Questions