The principles in junit providers are +/- the same, or they should be. So it was easy to find the difference and make the fix!
T On Mon, Mar 21, 2022 at 12:25 AM Tibor Digana <tibordig...@apache.org> wrote: > Hey David, > > Here is the PR. > You can see the integration test of documentation with the principles. Pls > find it and let me know you like it, feel free to put +1 in your comment. > https://github.com/apache/maven-surefire/pull/494 > As I said in JIRA, the combination of JUnit4 and JUnit5 is not the > problem. The problem is that we implemented the JUnit5 Surefire Provider > with a bug. We always operate with TestListResolver the same way in all > surefire providers but in this one. It was our fault, and not the > principals are the same in providers and so there is no difference > regarding the principles. That's the reason why I showed you the example > with JUnit4 because I had some suspicions in the code and it was confirmed > by running the tests and debugging the code. > > Cheers > Tibor > > > On Sun, Mar 20, 2022 at 8:23 PM KARR, DAVID <dk0...@att.com> wrote: > >> Here's my ticket: https://issues.apache.org/jira/browse/SUREFIRE-2040 . >> >> > -----Original Message----- >> > From: Tibor Digana <tibordig...@apache.org> >> > Sent: Sunday, March 20, 2022 12:03 PM >> > To: Maven Users List <users@maven.apache.org> >> > Subject: Re: Can't get Surefire to run any JUnit 5 tests >> > >> > Hello David, >> > >> > I have an internal fix, zou won't be able to have it today. :-) But if >> > you have created the Jira ticket for us, we would make sure we are on >> > the right way. >> > >> > This is my suite class with JUnit5, just a principle (there might be >> > more children classes of course), and I use the command *mvn test - >> > Dtest=MyTestSuite* I hope I am on the right track. >> > >> > package pkg; >> > >> > import org.junit.platform.suite.api.SelectClasses; >> > import org.junit.platform.suite.api.Suite; >> > >> > @Suite >> > @SelectClasses(BDSHelperTest.class) >> > public class MyTestSuite { >> > } >> > >> > >> > >> > >> > >> > On Sun, Mar 20, 2022 at 6:25 PM KARR, DAVID <dk0...@att.com> wrote: >> > >> > > > -----Original Message----- >> > > > From: Tibor Digana <tibordig...@apache.org> >> > > > Sent: Sunday, March 20, 2022 6:42 AM >> > > > To: Maven Users List <users@maven.apache.org> >> > > > Subject: Re: Can't get Surefire to run any JUnit 5 tests >> > > > >> > > > There was the same question maybe one week ago. >> > > > I have created an example with JUnit4, see the next, and used the >> > > > configuration parameter <test>ComponentTestSuite</test> where the >> > > > command naturally works: >> > > > >> > > > mvn -Dtest=ComponentTestSuite test >> > > > >> > > > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time >> > elapsed: >> > > > 0.14 s - in pkg.ComponentTestSuite >> > > > >> > > > After my fix this should work in JUnit5 provider. I have pushed a >> > > > test project with JUnit5 Suite, activate it via profile "suite", see >> > > > >> https://urldefense.com/v3/__https://github.com/Tibor17/junit5-mockit >> > > > o- >> > > > examples/commit/c87038b8154ae908ff50bd84e19776dfbddbe779__;!!BhdT!i5 >> > > > Qv7K >> > > > rfNE1_FyC63UP16CRSEh0UxMbSSwKn7EBgkKBuQ2Td7B4- >> > > > _p53T9zXVk_Dp0MniLHv6riNYEbn9UVw$ >> > > > >> > > > If there is a Jira ticket pls let me know and I will open a PR on >> > > > our GH. >> > > >> > > Thanks for the variations, I only care about the solution that moves >> > > forward with Junit5. >> > > >> > > You refer to a fix. Is that something you've put into version >> > > 3.0.0-M6-SNAPSHOT that I would need for this to work? I am attempting >> > > to get that version, but I'm having trouble configuring my >> > > settings.xml to get this to retrieve from the public repo. We engineer >> > > things so that all artifacts are retrieved from our internal artifact >> > > repository, which mirrors the public one. If I need to, I will >> > > continue trying to figure that out. >> > > >> > > I have a feeling you're saying that with Junit5, you were unable to >> > > get to the point where you could specify a single test, being a test >> > > suite, on the command line, which I believe is why you asked if there >> > > is a JIRA ticket for this. If you confirm that, I will create that >> > ticket. >> > > >> > > I see what you're doing with profiles. For what we're trying to do >> > > here, I can see that this could at least be a functional 1-1 >> > > replacement for specifying a single test on the command line, but I'd >> > > prefer not having to change how we do this, if possible. >> > > >> > > > On Sun, Mar 20, 2022 at 1:46 AM David Karr >> > > > <davidmichaelk...@gmail.com> >> > > > wrote: >> > > > >> > > > > On Sat, Mar 19, 2022 at 5:06 PM Tibor Digana >> > > > > <tibordig...@apache.org> >> > > > > wrote: >> > > > > >> > > > > > My advice is not to listen to everyone but rather understand how >> > > > > > things work. >> > > > > > Open this link in your browser >> > > > > > >> https://urldefense.com/v3/__https://repo1.maven.org/maven2/org/j >> > > > > > unit >> > > > > > /platform/__;!!BhdT!i5Qv7KrfNE1_FyC63UP16CRSEh0UxMbSSwKn7EBgkKBu >> > > > > > Q2Td 7B4-_p53T9zXVk_Dp0MniLHv6riNYCbWzIuY$ >> > > > > > It is groupId of some JUnit5 artifacts. >> > > > > > Do you see junit-platform-suite-api? >> > > > > > Scroll up and you will see junit-platform-suite. What's that? >> > > > > > It's the >> > > > > impl >> > > > > > of the api. >> > > > > > So, now you know what you miss in the dependencies. >> > > > > > >> > > > > > This way just discover the entire hierarchy in >> > > > > > >> https://urldefense.com/v3/__https://repo1.maven.org/maven2/org/j >> > > > > > unit >> > > > > > /__;!!BhdT!i5Qv7KrfNE1_FyC63UP16CRSEh0UxMbSSwKn7EBgkKBuQ2Td7B4- >> > > > _p53T9zXVk_Dp0MniLHv6riNYGRYa8RR$ and the POMs and their >> > > > dependencies and transitive dependencies. >> > > > > > Then you would understand most of the typical troubles. >> > > > > > No magic, the trick is to read the content of the repo and the >> > > > > > content of POMs. >> > > > > > >> > > > > > I always have to do this when I am helping the users. All the >> > time. >> > > > > > The job starts with this if it is a simple problem. Always the >> > > > > > same, all the time. >> > > > > > >> > > > > >> > > > > Ok, I appreciate that. However, perhaps I didn't emphasize the >> > > > > correct thing in my last response. Fixing the compile error was >> > simple to do. >> > > > > The last problem I have is the problem with running a component >> > > > > test suite from the command line. This is actually the first >> > > > > problem I was made aware of when I first started examining this >> > > > > entire functional >> > > > area. >> > > > > >> > > > > >> > > > > > T >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > On Sat, Mar 19, 2022 at 10:57 PM KARR, DAVID <dk0...@att.com> >> > wrote: >> > > > > > >> > > > > > > This is progress. I at least now see both Junit 5 and Junit 4 >> > > > > > > tests running successfully. >> > > > > > > >> > > > > > > I have a couple of related questions, one of which is likely >> > > > > > > entirely Junit-related, but which you might have run into, and >> > > > > > > the other is more >> > > > > > on >> > > > > > > Surefire. >> > > > > > > >> > > > > > > We also have some test suites, which is where we base our >> > > > "component" >> > > > > and >> > > > > > > "integration" tests, neither of which run as unit tests. I'm >> > > > > > > focusing >> > > > > in >> > > > > > > the component tests first, but I think whatever we do to fix >> > > > > > > the >> > > > > > component >> > > > > > > tests will be the same for the integration tests. >> > > > > > > >> > > > > > > With the dependencies you specified, that results in compile >> > > > > > > errors for missing classes in >> > "org.junit.platform.suite.api.*". >> > > > > > > That is in the "junit-platform-suite-api" dependency. It's >> > > > > > > simple enough to include >> > > > > > that >> > > > > > > dependency, and that resolves that compile error. I assume >> > > > > > > that's the >> > > > > > best >> > > > > > > resolution for that? >> > > > > > > >> > > > > > > Finally, the issue that is actually one of the first trouble >> > > > > > > spots we noticed, which is being able to execute test suites >> > > > > > > from the mvn >> > > > > command >> > > > > > > line. >> > > > > > > >> > > > > > > With Junit4, we would execute our component tests with just >> > this: >> > > > > > > >> > > > > > > mvn -Dtest=ComponentTestSuite test >> > > > > > > >> > > > > > > With these new frameworks, this fails with "No tests were >> > > > executed". >> > > > > I've >> > > > > > > tried numerous variations of this. >> > > > > > > >> > > > > > > The minimal class I have is this: >> > > > > > > >> > > > > > > import org.junit.platform.suite.api.SelectClasses; >> > > > > > > import org.junit.platform.suite.api.Suite; >> > > > > > > >> > > > > > > @Suite >> > > > > > > @SelectClasses(NoteResourceCT.class) >> > > > > > > public class ComponentTestSuite { >> > > > > > > } >> > > > > > > >> > > > > > > I have heard some mentions of "Tags" in Junit5 and "groups" in >> > > > > Surefire. >> > > > > > > I have experimented with those, but I still haven't gotten >> > > > > > > anything to >> > > > > > work. >> > > > > > > >> > > > > > > > -----Original Message----- >> > > > > > > > From: Tibor Digana <tibordig...@apache.org> >> > > > > > > > Sent: Saturday, March 19, 2022 1:55 PM >> > > > > > > > To: Maven Users List <users@maven.apache.org> >> > > > > > > > Subject: Re: Can't get Surefire to run any JUnit 5 tests >> > > > > > > > >> > > > > > > > No problem, pls see the project again, there is an update. >> > > > > > > > T >> > > > > > > > >> > > > > > > > On Sat, Mar 19, 2022 at 9:32 PM KARR, DAVID <dk0...@att.com >> > >> > > > wrote: >> > > > > > > > >> > > > > > > > > One thing that I see I neglected to mention in this post, >> > > > > > > > > but >> > > > > which I >> > > > > > > > > did mention in the SO posting I linked to, is that I have >> > > > > > > > > both >> > > > > Junit5 >> > > > > > > > > and >> > > > > > > > > Junit4 tests in scope. I believe that is at least one >> > > > > > > > > element that makes this more complicated. >> > > > > > > > > >> > > > > > > > > > -----Original Message----- >> > > > > > > > > > From: Tibor Digana <tibordig...@apache.org> >> > > > > > > > > > Sent: Saturday, March 19, 2022 1:27 PM >> > > > > > > > > > To: Maven Users List <users@maven.apache.org> >> > > > > > > > > > Subject: Re: Can't get Surefire to run any JUnit 5 tests >> > > > > > > > > > >> > > > > > > > > > I have created a project which proves that it works with >> > > > > > > > > > Surefire >> > > > > > > > > > 3.0.0- M5, JUnit Jupiter 5.8.2 and Mockito Extension. >> > > > > > > > > > Please do >> > > > > not >> > > > > > > > > > use JUnit4 and Vintage in this case. It is not necessary >> > > > > > > > > > to use a dependency inside of the plugin. Use a >> > > > > > > > > > dependency in the project >> > > > > > > > POM. Follow it on Github: >> > > > > > > > > > >> > > > > > >> https://urldefense.com/v3/__https://github.com/Tibor17/junit5-mo >> > > > > > ckit >> > > > > > > > > > o- >> > > > > > > > > > >> > > > > > examples__;!!BhdT!lvmbYgzuQOyWUX5ZylkdmfaU3sXf2apqjJSFSSrxKI8axK >> > > > > > gcOo >> > > > > > > > > > SucV >> > > > > > > > > > scEb7A3q4WNmPmuxJZAl1LWz6LutPn$ >> > > > > > > > > > >> > > > > > > > > > [INFO] --- maven-surefire-plugin:3.0.0-M5:test >> > > > > > > > > > (default-test) @ >> > > > > > > > > > why-is- surefire-not-executing-my-junit5-tests --- >> > > > > > > > > > [INFO] [INFO] >> > > > > > > > > > --------------- >> > > > > > > > > > ---------------------------------------- >> > > > > > > > > > [INFO] T E S T S >> > > > > > > > > > [INFO] >> > > > > > > > > > ------------------------------------------------------- >> > > > > > > > > > [INFO] Running pkg.BDSHelperTest [INFO] Tests run: 1, >> > > > > > > > > > Failures: 0, Errors: 0, Skipped: 0, Time >> > > > > > > > elapsed: >> > > > > > > > > > 0.396 s - in pkg.BDSHelperTest [INFO] [INFO] Results: >> > > > > > > > > > [INFO] >> > > > > > > > > > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 >> > > > > > > > > > [INFO] [INFO] >> > > > > > > > > > >> > > > > > ---------------------------------------------------------------- >> > > > > > ---- >> > > > > > > > > > ---- >> > > > > > > > > > [INFO] BUILD SUCCESS >> > > > > > > > > > [INFO] >> > > > > > > > > > >> > > > > > ---------------------------------------------------------------- >> > > > > > ---- >> > > > > > > > > > ---- >> > > > > > > > > > [INFO] Total time: 6.417 s [INFO] Finished at: >> > > > > > > > > > 2022-03-19T21:15:10+01:00 [INFO] >> > > > > > > > > > >> > > > > > ---------------------------------------------------------------- >> > > > > > ---- >> > > > > > > > > > ---- >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > The XML test report: >> > > > > > > > > > <testcase name="test" classname="pkg.BDSHelperTest" >> > > > > time="0.454"/> >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > Cheers >> > > > > > > > > > Tibor >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > On Sat, Mar 19, 2022 at 6:53 AM David Karr >> > > > > > > > > > <davidmichaelk...@gmail.com> >> > > > > > > > > > wrote: >> > > > > > > > > > >> > > > > > > > > > > I, along with two other people on my team, have spent >> > > > > > > > > > > days and days now trying to figure out why we cannot >> > > > > > > > > > > get Surefire to execute JUnit 5 >> > > > > > > > > > tests. >> > > > > > > > > > > We've all been working independently, so we don't all >> > > > > > > > > > > take the same path, but it didn't really matter, as >> > > > > > > > > > > all three of us are pretty much stuck at the same >> > > > > > > > > > > point. We can execute JUnit 5 >> > > > > > tests >> > > > > > > > > > > in Eclipse, but Surefire just refuses to have anything >> > > > > > > > > > > to do >> > > > > with >> > > > > > > > JUnit 5 tests. >> > > > > > > > > > > We've all read numerous threads and posts on how to do >> > > > > > > > > > > it, and >> > > > > it >> > > > > > > > > > > just >> > > > > > > > > > does not work. >> > > > > > > > > > > >> > > > > > > > > > > Most recently, I posted this question with some >> > > > > > > > > > > details of >> > > > > what I >> > > > > > > > > > > had done so far: >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > >> https://urldefense.com/v3/__https://stackoverflow.com/questions/ >> > > > > > 71 >> > > > > > > > > > > 5310 >> > > > > > > > > > > >> > > > > > 01/why-is-surefire-not-executing-my-junit5-tests__;!!BhdT!lvmbYg >> > > > > > zu >> > > > > > > > > > > QOyW >> > > > > > > > > > > >> > > > > > UX5ZylkdmfaU3sXf2apqjJSFSSrxKI8axKgcOoSucVscEb7A3q4WNmPmuxJZAl1L >> > > > > > W5 >> > > > > > > > > > > tYnJ >> > > > > > > > > > > oJ$ >> > > > > > > > > > > . >> > > > > > > > > > > >> > > > > > > > > > > I have no idea whether the problems lie in JUnit 5, or >> > > > > > > > > > > in Surefire, or some combination. I wish I could get >> > > > > > > > > > > some debug output that told me >> > > > > > > > > > SOMETHING. >> > > > > > > > > > > It just does not run JUnit 5 tests. >> > > > > > > > > > > >> > > > > > > > > >> > > > > > > >> > > > > > > -------------------------------------------------------------- >> > > > > > > ---- >> > > > > > > --- To unsubscribe, e-mail: >> users-unsubscr...@maven.apache.org >> > > > > > > For additional commands, e-mail: users-h...@maven.apache.org >> > > > > > > >> > > > > > >> > > > > >> > > >> > > --------------------------------------------------------------------- >> > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >> > > For additional commands, e-mail: users-h...@maven.apache.org >> > > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >> For additional commands, e-mail: users-h...@maven.apache.org >> >