<body>

<p>This document consists of three sections:</p>

<dl>
    <dt>Platform</dt>
    <dd>The JUnit Platform serves as a foundation for launching testing frameworks on the JVM.
        It also defines the TestEngine API for developing a testing framework that runs on the
        platform. Furthermore, the platform provides a Console Launcher to launch the platform
        from the command line and a JUnit 4 based Runner for running any TestEngine on the
        platform in a JUnit 4 based environment.
    </dd>
    <dt>Jupiter</dt>
    <dd>JUnit Jupiter is the combination of the new programming model and extension model for
        writing tests and extensions in JUnit 5. The Jupiter sub-project provides a TestEngine
        for running Jupiter based tests on the platform.
    </dd>
    <dt>Vintage</dt>
    <dd>JUnit Vintage provides a TestEngine for running JUnit 3 and JUnit 4 based tests on the
        platform.
    </dd>
</dl>

<p>Already consulted the <a href="../user-guide/index.html">JUnit 5 User Guide</a>?</p>

</body>
