title: What is junit-bom and junit platform for, and should I include them in gradle dependencies?
body: <p>I'm reading <a href="https://junit.org/junit5/docs/snapshot/user-guide/index.html#overview-getting-started-example-projects" rel="noreferrer">Junit 5 User Guide</a>. It leads me to a <a href="https://github.com/junit-team/junit5-samples/tree/c15fe17ee4cb5c7d601767dd4964f05711b6ada0/junit5-jupiter-starter-gradle" rel="noreferrer">JUnit 5 Jupiter Gradle Sample</a>, which is a simplest example of using Junit 5 with Gradle. In <code>build.gradle</code> file, there are 2 dependencies, <code>junit-jupiter</code> and <code>junit-bom</code>. And in <code>test</code> task, it also calls <code>useJUnitPlatform()</code> function.</p>
  <pre><code>plugins {
      id 'java'
  }
  
  repositories {
      mavenCentral()
  }
  
  dependencies {
      testImplementation(platform('org.junit:junit-bom:5.7.1'))
      testImplementation('org.junit.jupiter:junit-jupiter')
  }
  
  test {
      useJUnitPlatform()
      testLogging {
          events &quot;passed&quot;, &quot;skipped&quot;, &quot;failed&quot;
      }
  }
  </code></pre>
  <p>According to my knowledge, the <code>junit-jupiter</code> is the aggregate artifact, which pulls the following 3 artifacts,</p>
  <ol>
  <li>junit-jupiter-api (compile dependency)</li>
  <li>junit-jupiter-engine (runtime dependency)</li>
  <li>junit-jupiter-params (for parameterized tests)</li>
  </ol>
  <p>So I guess <code>junit-jupiter</code> is already enough for running JUnit Jupiter in my project (correct me if I was wrong). <strong>I want to know what is <code>junit-bom</code> and <code>JUnitPlatform</code> for here?</strong> Can I simply get rid of them? Thanks everyone:)</p>