0

I have 2 test classes, both extend TestCase. Each class contains a bunch of individual tests which run against my program.

How can I execute both classes (and all tests they have) as part of the same suite?

I am using jUnit 4.8.

Jonathan Drapeau
  • 2,619
  • 2
  • 25
  • 32
James Raitsev
  • 87,465
  • 141
  • 322
  • 462

2 Answers2

5

In jUnit4 you have something like this:

@RunWith(Suite.class)
@SuiteClasses({
    SomeTest.class,
    SomeOtherTest.class,
    ...
    })
public class AllTests {}

If you want the Eclipse GUI suite builder (New > JUnit Test suite), you have to add

public static junit.framework.Test suite() {
   return new JUnit4TestAdapter(SomeTest.class);
}

to each of your test classes s.t. the GUI test suite builder recognizes your test.

Juri
  • 31,426
  • 18
  • 100
  • 133
0

Create TestClass and override suite() method and run newly created TestClass.

 public static Test suite()
    {
        TestSuite suite = new TestSuite("Test ExpenseTest");
        suite.add(TestCase1.class);
        suite.add(TestCase2.class);
        return suite;
    }
Vinay Lodha
  • 2,097
  • 20
  • 29
  • Maybe this JavaDoc will help http://kentbeck.github.com/junit/javadoc/4.8/org/junit/runners/Suite.html. I have never used it JavaDoc have enough information – Vinay Lodha Sep 02 '10 at 14:56
  • My test set is invoked as part of @Suite.SuiteClasses({MyTests.class}). Where should I add your code to produce a subsuit? Who consumes the suite produced? – Val Sep 17 '13 at 14:25