sbt-jupiter-interface icon indicating copy to clipboard operation
sbt-jupiter-interface copied to clipboard

How to set test source?

Open SirMathhman opened this issue 4 years ago • 1 comments

WARNING: TestEngine with ID 'junit-jupiter' failed to execute tests
org.junit.platform.commons.JUnitException: Error executing tests for engine junit-jupiter
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
        at net.aichler.jupiter.internal.JupiterRunner$JupiterTaskExecutor.execute(JupiterRunner.java:185)
        at net.aichler.jupiter.internal.JupiterRunner$WithCustomProperties.execute(JupiterRunner.java:239)
        at net.aichler.jupiter.internal.JupiterRunner$JupiterTask.execute(JupiterRunner.java:126)
        at sbt.TestRunner.runTest$1(TestFramework.scala:139)
        at sbt.TestRunner.run(TestFramework.scala:154)
        at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:317)
        at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:277)
        at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:317)
        at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:317)
        at sbt.TestFunction.apply(TestFramework.scala:329)
        at sbt.Tests$.$anonfun$toTask$1(Tests.scala:311)
        at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:46)
        at sbt.std.Transform$$anon$4.work(Transform.scala:67)
        at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
        at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
        at sbt.Execute.work(Execute.scala:290)
        at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
        at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.RuntimeException: Test identifier without source: TestIdentifier [uniqueId = '[engine:junit-jupiter]', parentId = null, displayName = 'JUnit Jupiter', legacyReportingName = 'JUnit Jupiter', source = null, tags = [], type = CONTAINER]
        at net.aichler.jupiter.internal.Configuration.lambda$extractClassName$1(Configuration.java:177)
        at java.base/java.util.Optional.orElseThrow(Optional.java:408)
        at net.aichler.jupiter.internal.Configuration.extractClassName(Configuration.java:176)
        at net.aichler.jupiter.internal.Configuration.buildColoredName(Configuration.java:236)
        at net.aichler.jupiter.internal.Configuration.buildErrorName(Configuration.java:227)
        at net.aichler.jupiter.internal.listeners.FlatPrintingTestListener.executionFinished(FlatPrintingTestListener.java:103)
        at org.junit.platform.launcher.core.TestExecutionListenerRegistry$CompositeTestExecutionListener.lambda$executionFinished$3(TestExecutionListenerRegistry.java:77)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
        at org.junit.platform.launcher.core.TestExecutionListenerRegistry.notifyTestExecutionListeners(TestExecutionListenerRegistry.java:51)
        at org.junit.platform.launcher.core.TestExecutionListenerRegistry.access$100(TestExecutionListenerRegistry.java:27)
        at org.junit.platform.launcher.core.TestExecutionListenerRegistry$CompositeTestExecutionListener.executionFinished(TestExecutionListenerRegistry.java:77)
        at org.junit.platform.launcher.core.ExecutionListenerAdapter.executionFinished(ExecutionListenerAdapter.java:56)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.reportCompletion(NodeTestTask.java:183)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:89)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
        ... 28 more

According to these logs, the particular interface for the tests do not possess valid sources. As a result, every test that is executed using sbt test fails.

build.sbt

<other dependencies>

resolvers in ThisBuild += Resolver.jcenterRepo

libraryDependencies += "org.junit.jupiter" % "junit-jupiter-api" % "5.+" % Test
libraryDependencies += "org.junit.jupiter" % "junit-jupiter-engine" % "5.+" % Test
libraryDependencies += "net.aichler" % "jupiter-interface" % JupiterKeys.jupiterVersion.value % Test

plugins.sbt

resolvers += Resolver.jcenterRepo

addSbtPlugin("net.aichler" % "sbt-jupiter-interface" % "0.8.3")

I would imagine that this issue is caused by the test interfaces being generated without a valid source provider.

SirMathhman avatar Jun 14 '20 20:06 SirMathhman

Hi,

sorry for the late response!

If it's still relevant you could use the new version 0.8.4 which fixes the above error.

maichler avatar Jan 14 '21 15:01 maichler