JUnit 4 Test Suites

JavaJunitTest Suite

Java Problem Overview


How do I create test suites with JUnit 4?

All the documentation I've seen doesn't seem to be working for me. And if I use the Eclipse wizard it doesn't give me an option to select any of the test classes I have created.

Java Solutions


Solution 1 - Java

import org.junit.runners.Suite;
import org.junit.runner.RunWith;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}

Solution 2 - Java

You can create a suite like so. For example an AllTest suite would look something like this.

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

Now you can run this in a couple different ways:

  1. right-click and run in Eclipse as Junit test

  2. create a runable Java Application; Main class='org.junit.runner.JUnitCore' and Args='my.package.tests.AllTests'

  3. run from the command line:

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
    

Solution 3 - Java

I think TestSuite has fallen out of favor. That might have been the style before 4.x, but it's not now as far as I know.

I just annotate the tests I want and then run the class. All the annotated tests are run. I might use Ant, but most of the time I have IntelliJ run them for me.

Solution 4 - Java

Here are the steps to create a JUnit suite in eclipse:

  1. In the 'Package Explorer' view of the eclipse 'Java' perspective, select your unit test(s) in their package, inside the eclipse java project.
  2. Right-click on any one of the selected tests.
  3. In the pop-up menu, select New, Other…
  4. Open the ‘Java’ folder, then open the ‘JUnit’ folder
  5. Select ‘JUnit Test Suite’ and then select the ‘Next’ button
  6. Select button ‘Finish’
  7. Result: ‘AllTests.java’ suite file is created, with tests automatically included
  8. Select the Run button in eclipse
  9. Result: all tests in suite run
  10. You can now point to this suite file with ANT, Jenkins or other build configuration continuous integration tool.

Version info: this is for eclipse Neon and JUnit 4. You can also select JUnit 3 before selecting 'Finish' in step 6.

Solution 5 - Java

Of the top of my head create a TestSuite and the invoke addTests. If you want somesource to look at try any opensource lib like hibernate or something from apache and take a look under the test directory of the source for a Tests suite ...

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAdam TaylorView Question on Stackoverflow
Solution 1 - JavaJoachim SauerView Answer on Stackoverflow
Solution 2 - JavacmcgintyView Answer on Stackoverflow
Solution 3 - JavaduffymoView Answer on Stackoverflow
Solution 4 - JavaRed RoosterView Answer on Stackoverflow
Solution 5 - JavamP.View Answer on Stackoverflow