Never mind, I think I figured this out. I had two "parent" artifacts with similar names, and I ran the build in the wrong one. It's still a bit confusing where the exclusion has to go, but I now have a single exclusion for junit-platform-runner, in the parent pom, so I don't have to do this in each service pom.
On Fri, Jun 17, 2022 at 12:26 PM David Karr <davidmichaelk...@gmail.com> wrote: > Ok, so the tree has output like this: > -------------- > [INFO] +- com.att.idp:idp-seed-sdk-core:jar:2.7.0-SNAPSHOT:compile > [INFO] | +- org.junit.jupiter:junit-jupiter-api:jar:5.8.2:compile > [INFO] | | +- org.opentest4j:opentest4j:jar:1.2.0:compile > [INFO] | | \- org.apiguardian:apiguardian-api:jar:1.1.2:compile > [INFO] | +- org.junit.jupiter:junit-jupiter-engine:jar:5.8.2:compile > [INFO] | +- > org.junit.jupiter:junit-jupiter-migrationsupport:jar:5.8.2:compile > [INFO] | +- org.junit.jupiter:junit-jupiter-params:jar:5.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-commons:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-console:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-engine:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-jfr:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-launcher:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-reporting:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-runner:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-suite:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-suite-api:jar:1.8.2:compile > [INFO] | +- > org.junit.platform:junit-platform-suite-commons:jar:1.8.2:compile > [INFO] | +- > org.junit.platform:junit-platform-suite-engine:jar:1.8.2:compile > [INFO] | +- org.junit.platform:junit-platform-testkit:jar:1.8.2:compile > [INFO] | \- org.junit.vintage:junit-vintage-engine:jar:5.8.2:compile > ----------------- > It's a little hard to see with a proportional font, but the top line there > is the artifact that references it. In my parent pom, where this artifact > is specified, I did the following: > --------------------- > <dependency> > <groupId>com.att.idp</groupId> > <artifactId>idp-seed-sdk-core</artifactId> > <exclusions> > <exclusion> > <groupId>org.junit.platform</groupId> > <artifactId>junit-platform-runner</artifactId> > </exclusion> > </exclusions> > </dependency> > ------------ > > This made no difference. > > The only thing that makes this do what it needs to do is adding the > "surefire-junit-platform" dependency to the surefire plugin, but I have to > do that in every service that uses that parent pom. This is the only change > that runs both the JUnit 4 and JUnit 5 tests. > > On Fri, Jun 17, 2022 at 12:13 PM Slawomir Jaranowski < > s.jaranow...@gmail.com> wrote: > >> Import scope only sets versions of dependency - not add it to dependency. >> >> Please examine output of dependency:tree and look where is added >> junit-platform-runner >> >> pt., 17 cze 2022 o 20:47 David Karr <davidmichaelk...@gmail.com> >> napisał(a): >> >> > Ok, what is the proper way to do that, considering I have the following >> in >> > a bom imported by my parent pom: >> > -------------------- >> > <dependency> >> > <groupId>org.junit</groupId> >> > <artifactId>junit-bom</artifactId> >> > <scope>import</scope> >> > <type>pom</type> >> > <version>5.8.2</version> >> > </dependency> >> > <!-- Spring Dependencies --> >> > <dependency> >> > <groupId>org.springframework.boot</groupId> >> > <artifactId>spring-boot-dependencies</artifactId> >> > <version>${spring-boot.version}</version> >> > <type>pom</type> >> > <scope>import</scope> >> > </dependency> >> > -------------------- >> > Do I add an exclusion to one or both of these? >> > >> > On Fri, Jun 17, 2022 at 11:37 AM Slawomir Jaranowski < >> > s.jaranow...@gmail.com> >> > wrote: >> > >> > > Do you have on your classpath - junit-platform-runner? >> > > Please remove it. >> > > >> > > >> > > pt., 17 cze 2022 o 20:23 David Karr <davidmichaelk...@gmail.com> >> > > napisał(a): >> > > >> > > > I'm posting a new note, as this might be a different issue. >> > > > >> > > > I recently got good advice on this list about how to properly >> specify >> > the >> > > > version overrides for the junit-bom artifacts. When I implemented >> > that, >> > > I >> > > > saw that I was consistently getting the correct versions for those >> > > > artifacts. >> > > > >> > > > However, I'm now confused by the behavior that I'm seeing from >> > > Surefire. I >> > > > currently have a mix of JUnit 4 and JUnit 5 tests. I'm pretty sure >> > that >> > > I >> > > > had this working before, but now I see that it is not running any of >> > the >> > > > JUnit 5 tests. >> > > > >> > > > Note the following excerpt from my build: >> > > > ------------------- >> > > > [INFO] --- maven-surefire-plugin:3.0.0-M7:test (default-test) @ >> > > > PlatformPilotMs --- >> > > > [INFO] Using auto detected provider >> > > > org.apache.maven.surefire.junit4.JUnit4Provider >> > > > ------------------ >> > > > >> > > > I'm using the very latest M version, as that resolves other issues >> > we've >> > > > been having. When I look to see what tests were executed, I see >> that it >> > > > doesn't include any of my JUnit 5 tests. >> > > > >> > > > I ran "mvn dependency:tree" to verify what versions of JUnit are in >> the >> > > > classpath, and it has BOTH JUnit 4.13 and junit-platform 1.8.2 and >> > > > junit-jupiter 5.8.2. The surefire doc page says "Surefire normally >> > > > automatically selects which test-framework provider to use based on >> the >> > > > version of TestNG/JUnit present in your project's classpath". Is the >> > fact >> > > > that both are in the classpath causing this? Am I going to have to >> > > manually >> > > > specify both the junit 4 and junit 5 providers in the surefire >> > > > dependencies? That is additionally annoying as I also have to >> > redundantly >> > > > specify the versions of those artifacts (I tried not specifying a >> > > version, >> > > > and it complained). >> > > > >> > > >> > > >> > > -- >> > > Sławomir Jaranowski >> > > >> > >> >> >> -- >> Sławomir Jaranowski >> >