Skip to content

Project 4 JUnit Integration Tests Break After "./mvnw clean verify" #45

@NAlexH2

Description

@NAlexH2

After performing a ./mvnw clean verify on Windows, the integration tests can no longer be ran independently to perform further testing with the jetty server running.

The following error is what appears

"C:\Program Files\Eclipse Adoptium\jdk-17.0.3.7-hotspot\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar=51974:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\nharr\.m2\repository\org\junit\vintage\junit-vintage-engine\5.9.0-M1\junit-vintage-engine-5.9.0-M1.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\plugins\junit\lib\junit-rt.jar;E:\0-Local-School-Work\summer22\java-cs410p\cs410p-AdvJava-sum22\phonebill-web\target\test-classes;E:\0-Local-School-Work\summer22\java-cs410p\cs410p-AdvJava-sum22\phonebill-web\target\classes;C:\Users\nharr\.m2\repository\io\github\davidwhitlock\cs410J\projects\2022.2.0\projects-2022.2.0.jar;C:\Users\nharr\.m2\repository\io\github\davidwhitlock\cs410J\examples\2022.1.0\examples-2022.1.0.jar;C:\Users\nharr\.m2\repository\io\github\davidwhitlock\cs410J\family\2022.1.0\family-2022.1.0.jar;C:\Users\nharr\.m2\repository\com\sun\mail\jakarta.mail\2.0.1\jakarta.mail-2.0.1.jar;C:\Users\nharr\.m2\repository\com\sun\activation\jakarta.activation\2.0.1\jakarta.activation-2.0.1.jar;C:\Users\nharr\.m2\repository\com\google\inject\guice\5.1.0\guice-5.1.0.jar;C:\Users\nharr\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\nharr\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\nharr\.m2\repository\com\google\guava\guava\30.1-jre\guava-30.1-jre.jar;C:\Users\nharr\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\nharr\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\nharr\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\nharr\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\nharr\.m2\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;C:\Users\nharr\.m2\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy\3.0.8\groovy-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-ant\3.0.8\groovy-ant-3.0.8.jar;C:\Users\nharr\.m2\repository\org\apache\ant\ant\1.10.9\ant-1.10.9.jar;C:\Users\nharr\.m2\repository\org\apache\ant\ant-junit\1.10.9\ant-junit-1.10.9.jar;C:\Users\nharr\.m2\repository\org\apache\ant\ant-launcher\1.10.9\ant-launcher-1.10.9.jar;C:\Users\nharr\.m2\repository\org\apache\ant\ant-antlr\1.10.9\ant-antlr-1.10.9.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-astbuilder\3.0.8\groovy-astbuilder-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-cli-picocli\3.0.8\groovy-cli-picocli-3.0.8.jar;C:\Users\nharr\.m2\repository\info\picocli\picocli\4.5.2\picocli-4.5.2.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-console\3.0.8\groovy-console-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-datetime\3.0.8\groovy-datetime-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-docgenerator\3.0.8\groovy-docgenerator-3.0.8.jar;C:\Users\nharr\.m2\repository\com\thoughtworks\qdox\qdox\1.12.1\qdox-1.12.1.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-groovydoc\3.0.8\groovy-groovydoc-3.0.8.jar;C:\Users\nharr\.m2\repository\com\github\javaparser\javaparser-core\3.18.0\javaparser-core-3.18.0.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-groovysh\3.0.8\groovy-groovysh-3.0.8.jar;C:\Users\nharr\.m2\repository\jline\jline\2.14.6\jline-2.14.6.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-jmx\3.0.8\groovy-jmx-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-json\3.0.8\groovy-json-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-jsr223\3.0.8\groovy-jsr223-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-macro\3.0.8\groovy-macro-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-nio\3.0.8\groovy-nio-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-servlet\3.0.8\groovy-servlet-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-sql\3.0.8\groovy-sql-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-swing\3.0.8\groovy-swing-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-templates\3.0.8\groovy-templates-3.0.8.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-test\3.0.8\groovy-test-3.0.8.jar;C:\Users\nharr\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar;C:\Users\nharr\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-test-junit5\3.0.8\groovy-test-junit5-3.0.8.jar;C:\Users\nharr\.m2\repository\org\junit\platform\junit-platform-launcher\1.7.0\junit-platform-launcher-1.7.0.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-testng\3.0.8\groovy-testng-3.0.8.jar;C:\Users\nharr\.m2\repository\org\testng\testng\7.4.0\testng-7.4.0.jar;C:\Users\nharr\.m2\repository\com\beust\jcommander\1.78\jcommander-1.78.jar;C:\Users\nharr\.m2\repository\org\webjars\jquery\3.5.1\jquery-3.5.1.jar;C:\Users\nharr\.m2\repository\org\codehaus\groovy\groovy-xml\3.0.8\groovy-xml-3.0.8.jar;C:\Users\nharr\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\3.0.0\jakarta.xml.bind-api-3.0.0.jar;C:\Users\nharr\.m2\repository\com\sun\xml\bind\jaxb-impl\3.0.0\jaxb-impl-3.0.0.jar;C:\Users\nharr\.m2\repository\com\sun\xml\bind\jaxb-core\3.0.0\jaxb-core-3.0.0.jar;C:\Users\nharr\.m2\repository\io\github\davidwhitlock\cs410J\projects\2022.2.0\projects-2022.2.0-tests.jar;C:\Users\nharr\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\nharr\.m2\repository\org\junit\jupiter\junit-jupiter\5.9.0-M1\junit-jupiter-5.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.9.0-M1\junit-jupiter-api-5.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\nharr\.m2\repository\org\junit\platform\junit-platform-commons\1.9.0-M1\junit-platform-commons-1.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;C:\Users\nharr\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.9.0-M1\junit-jupiter-params-5.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.9.0-M1\junit-jupiter-engine-5.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\junit\platform\junit-platform-engine\1.9.0-M1\junit-platform-engine-1.9.0-M1.jar;C:\Users\nharr\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\nharr\.m2\repository\org\mockito\mockito-core\4.5.1\mockito-core-4.5.1.jar;C:\Users\nharr\.m2\repository\net\bytebuddy\byte-buddy\1.12.9\byte-buddy-1.12.9.jar;C:\Users\nharr\.m2\repository\net\bytebuddy\byte-buddy-agent\1.12.9\byte-buddy-agent-1.12.9.jar;C:\Users\nharr\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar;E:\0-Local-School-Work\summer22\java-cs410p\cs410p-AdvJava-sum22\phonebill-web\target\test-classes" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 edu.pdx.cs410J.nharris.Project4IT
Internal Error occurred.
org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-vintage' failed to discover tests
	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:111)
	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:85)
	at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:92)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
	at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'edu.pdx.cs410J.nharris.Project4IT'] resolution failed
	at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:103)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:83)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113)
	at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(VintageDiscoverer.java:42)
	at org.junit.vintage.engine.VintageTestEngine.discover(VintageTestEngine.java:64)
	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:103)
	... 9 more
Caused by: org.junit.platform.commons.PreconditionViolationException: Could not load class with name: edu.pdx.cs410J.nharris.Project4IT
	at org.junit.platform.engine.discovery.ClassSelector.lambda$getJavaClass$0(ClassSelector.java:75)
	at org.junit.platform.commons.function.Try$Failure.getOrThrow(Try.java:335)
	at org.junit.platform.engine.discovery.ClassSelector.getJavaClass(ClassSelector.java:74)
	at org.junit.vintage.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:47)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:135)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:189)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:126)
	at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:92)
	... 14 more
Caused by: java.lang.ClassNotFoundException: edu.pdx.cs410J.nharris.Project4IT
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at org.junit.platform.commons.util.ReflectionUtils.lambda$tryToLoadClass$9(ReflectionUtils.java:829)
	at org.junit.platform.commons.function.Try.lambda$call$0(Try.java:57)
	at org.junit.platform.commons.function.Try.of(Try.java:93)
	at org.junit.platform.commons.function.Try.call(Try.java:57)
	at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:792)
	at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:748)
	... 29 more

I found that the only workaround is this:

  1. Build the project through IntelliJ
  2. Start the jetty server
  3. Then the integration tests can be used.

As of now, all my unit tests work just fine, but to test the server from the command line without the different IT is not ideal after a verify. The workaround does the same job still as far as I can tell, though I wasn't sure if this was entirely expected behavior and thought it be best to open an issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions