5

I am relatively new to Java and new to JUnit testing. It's absolutely clear to me what the Test class uis, but the TestSuite class confuses me. Can someone explain me what TestSuite is for?

Raedwald
  • 46,613
  • 43
  • 151
  • 237
Иван Бишевац
  • 13,811
  • 21
  • 66
  • 93

3 Answers3

9

Its a collection of tests. It allows you to run such a collection as a group.

Example from the first link I found with google.

import junit.framework.Test;
import junit.framework.TestSuite;

public class EcommerceTestSuite {

    public static Test suite() {

        TestSuite suite = new TestSuite();

        //
        // The ShoppingCartTest we created above.
        //
        suite.addTestSuite(ShoppingCartTest.class);

        //
        // Another example test suite of tests.
        // 
        suite.addTest(CreditCardTestSuite.suite());

        //
        // Add more tests here
        //

        return suite;
    }

    /**
     * Runs the test suite using the textual runner.
     */
    public static void main(String[] args) {
        junit.textui.TestRunner.run(suite());
    }
}
Peter Lawrey
  • 525,659
  • 79
  • 751
  • 1,130
2

It is basically a group of tests that you (or someone) define once which you can run with the click of a button. The tests are automatically run and "marked", and if any test fails you are informed of details.

WaelJ
  • 2,942
  • 4
  • 22
  • 28
1

there are some good definitions here: http://xunitpatterns.com/Testcase%20Class.html

Ray Tayek
  • 9,841
  • 8
  • 50
  • 90