Junit5's @CsvFileSource annotation not working with EclipseHow can you speed up Eclipse?Eclipse/Java code completion not working'Must Override a Superclass Method' Errors after importing a project into Eclipse“Debug certificate expired” error in Eclipse Android pluginsEclipse, and JUnit. Tests passing/failing depending on where they are run from?What's the difference between @Component, @Repository & @Service annotations in Spring?Null Pointer Exception at Junit test with fileSystem and spring bootRunning a single JUnit test in Eclipse will not do anythingHow to run a script test on Appium with Eclipse?No ParameterResolver registered for parameter [io.vertx.ext.unit.TestContext arg0]
Inside Out and Back to Front
Improving an O(N^2) function (all entities iterating over all other entities)
Why would word of Princess Leia's capture generate sympathy for the Rebellion in the Senate?
Why is the Intel 8086 CPU called a 16-bit CPU?
How should I interpret a promising preprint that was never published in a peer-reviewed journal?
Did Hitler say this quote about homeschooling?
Last-minute canceled work-trip means I'll lose thousands of dollars on planned vacation
Which modern firearm should a time traveler bring to be easily reproducible for a historic civilization?
Could Europeans in Europe demand protection under UN Declaration on the Rights of Indigenous Peoples?
Could a US citizen born through "birth tourism" become President?
Manager is asking me to eat breakfast from now on
extract the top-level domain and the second-level domain from a URL
Tricky interview question for mid-level C++ developer
Linux ext4 restore file and directory access rights after bad backup/restore
Equality of complex numbers in general
The most secure way to handle someone forgetting to verify their account?
What is a Romeo Word™?
"Je suis petite, moi?", purpose of the "moi"?
To what extent asymmetric cryptography secures bitcoin transactions?
How to tell readers that I know my story is factually incorrect?
I have found a mistake on someone's code published online: what is the protocol?
What makes MOVEQ quicker than a normal MOVE in 68000 assembly?
How was Luke's prosthetic hand in Episode V filmed?
Flashing the ESP8266 12F from raspberry
Junit5's @CsvFileSource annotation not working with Eclipse
How can you speed up Eclipse?Eclipse/Java code completion not working'Must Override a Superclass Method' Errors after importing a project into Eclipse“Debug certificate expired” error in Eclipse Android pluginsEclipse, and JUnit. Tests passing/failing depending on where they are run from?What's the difference between @Component, @Repository & @Service annotations in Spring?Null Pointer Exception at Junit test with fileSystem and spring bootRunning a single JUnit test in Eclipse will not do anythingHow to run a script test on Appium with Eclipse?No ParameterResolver registered for parameter [io.vertx.ext.unit.TestContext arg0]
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm running a set of tests with Junit 5.
They work correctly if they are launched by Maven, but I cannot run them properly in Eclipse.
Apparently the problem is that Eclipse does not consider correctly the parameters of the annotation @CsvFileSource.
Test:
@ParameterizedTest
@CsvFileSource(resources = INPUT_FILE_NAME, numLinesToSkip=1, delimiter=';')
public void testSpot(
String crossCcy,
@ConvertWith(LocalDateConverter.class) LocalDate date,
@ConvertWith(LocalDateConverter.class) LocalDate expectedSpot
) throws JFxLibException, IOException
FxDateCalculator calculator = FxDateCalculator.newInstance(crossCcy);
LocalDate spotDate = calculator.getSpotDate(date);
Assertions.assertEquals(expectedSpot, spotDate, "Cross " + crossCcy + ", date=" + date + ",");
Mvn:
$ mvn test
[INFO] Scanning for projects...
....
Running com.fx.jfxlib.calc.date.FxDateCalculatorTest
Tests run: 572, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.406 sec - in com.fx.jfxlib.calc.date.FxDateCalculatorTest
....
Results :
Tests run: 2274, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.619 s
[INFO] Finished at: 2019-03-26T11:38:45+01:00
[INFO] ------------------------------------------------------------------------
Eclipse:
org.junit.jupiter.api.extension.ParameterResolutionException: Error resolving parameter at index 1
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:63)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:207)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:163)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:114)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:86)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$11$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:86)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:36)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
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 org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.IllegalArgumentException: Invalid format: "date"
at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:828)
at org.joda.time.format.DateTimeFormatter.parseLocalDate(DateTimeFormatter.java:772)
at com.bancaimi.fx.jfxlib.test.util.converter.LocalDateConverter.convert(LocalDateConverter.java:19)
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:60)
... 98 more
My csv input has headers (but Eclipse does not skip the header line)
cross;date;expected spot
EURUSD;09/12/2015;11/12/2015
EURUSD;04/12/2015;08/12/2015
I'm using Eclipse Oxygen:
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200
java eclipse junit
add a comment |
I'm running a set of tests with Junit 5.
They work correctly if they are launched by Maven, but I cannot run them properly in Eclipse.
Apparently the problem is that Eclipse does not consider correctly the parameters of the annotation @CsvFileSource.
Test:
@ParameterizedTest
@CsvFileSource(resources = INPUT_FILE_NAME, numLinesToSkip=1, delimiter=';')
public void testSpot(
String crossCcy,
@ConvertWith(LocalDateConverter.class) LocalDate date,
@ConvertWith(LocalDateConverter.class) LocalDate expectedSpot
) throws JFxLibException, IOException
FxDateCalculator calculator = FxDateCalculator.newInstance(crossCcy);
LocalDate spotDate = calculator.getSpotDate(date);
Assertions.assertEquals(expectedSpot, spotDate, "Cross " + crossCcy + ", date=" + date + ",");
Mvn:
$ mvn test
[INFO] Scanning for projects...
....
Running com.fx.jfxlib.calc.date.FxDateCalculatorTest
Tests run: 572, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.406 sec - in com.fx.jfxlib.calc.date.FxDateCalculatorTest
....
Results :
Tests run: 2274, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.619 s
[INFO] Finished at: 2019-03-26T11:38:45+01:00
[INFO] ------------------------------------------------------------------------
Eclipse:
org.junit.jupiter.api.extension.ParameterResolutionException: Error resolving parameter at index 1
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:63)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:207)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:163)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:114)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:86)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$11$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:86)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:36)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
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 org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.IllegalArgumentException: Invalid format: "date"
at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:828)
at org.joda.time.format.DateTimeFormatter.parseLocalDate(DateTimeFormatter.java:772)
at com.bancaimi.fx.jfxlib.test.util.converter.LocalDateConverter.convert(LocalDateConverter.java:19)
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:60)
... 98 more
My csv input has headers (but Eclipse does not skip the header line)
cross;date;expected spot
EURUSD;09/12/2015;11/12/2015
EURUSD;04/12/2015;08/12/2015
I'm using Eclipse Oxygen:
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200
java eclipse junit
IsINPUT_FILE_NAMEa relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).
– howlger
Mar 26 at 12:46
It is a relative path, and the resource is in the classpath. From Javadoc:The CSV classpath resources to use as the sources of arguments; must not be empty.In fact the file is found and read, I just get an exception while reading the parameters
– ecitta
Mar 26 at 12:55
I see.numLinesToSkipexists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.
– howlger
Mar 26 at 13:30
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't containnumLinesToSkip
– ecitta
Mar 26 at 13:53
Great, in the current Javadoc there is no Since atnumLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.
– howlger
Mar 26 at 14:03
add a comment |
I'm running a set of tests with Junit 5.
They work correctly if they are launched by Maven, but I cannot run them properly in Eclipse.
Apparently the problem is that Eclipse does not consider correctly the parameters of the annotation @CsvFileSource.
Test:
@ParameterizedTest
@CsvFileSource(resources = INPUT_FILE_NAME, numLinesToSkip=1, delimiter=';')
public void testSpot(
String crossCcy,
@ConvertWith(LocalDateConverter.class) LocalDate date,
@ConvertWith(LocalDateConverter.class) LocalDate expectedSpot
) throws JFxLibException, IOException
FxDateCalculator calculator = FxDateCalculator.newInstance(crossCcy);
LocalDate spotDate = calculator.getSpotDate(date);
Assertions.assertEquals(expectedSpot, spotDate, "Cross " + crossCcy + ", date=" + date + ",");
Mvn:
$ mvn test
[INFO] Scanning for projects...
....
Running com.fx.jfxlib.calc.date.FxDateCalculatorTest
Tests run: 572, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.406 sec - in com.fx.jfxlib.calc.date.FxDateCalculatorTest
....
Results :
Tests run: 2274, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.619 s
[INFO] Finished at: 2019-03-26T11:38:45+01:00
[INFO] ------------------------------------------------------------------------
Eclipse:
org.junit.jupiter.api.extension.ParameterResolutionException: Error resolving parameter at index 1
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:63)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:207)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:163)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:114)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:86)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$11$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:86)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:36)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
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 org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.IllegalArgumentException: Invalid format: "date"
at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:828)
at org.joda.time.format.DateTimeFormatter.parseLocalDate(DateTimeFormatter.java:772)
at com.bancaimi.fx.jfxlib.test.util.converter.LocalDateConverter.convert(LocalDateConverter.java:19)
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:60)
... 98 more
My csv input has headers (but Eclipse does not skip the header line)
cross;date;expected spot
EURUSD;09/12/2015;11/12/2015
EURUSD;04/12/2015;08/12/2015
I'm using Eclipse Oxygen:
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200
java eclipse junit
I'm running a set of tests with Junit 5.
They work correctly if they are launched by Maven, but I cannot run them properly in Eclipse.
Apparently the problem is that Eclipse does not consider correctly the parameters of the annotation @CsvFileSource.
Test:
@ParameterizedTest
@CsvFileSource(resources = INPUT_FILE_NAME, numLinesToSkip=1, delimiter=';')
public void testSpot(
String crossCcy,
@ConvertWith(LocalDateConverter.class) LocalDate date,
@ConvertWith(LocalDateConverter.class) LocalDate expectedSpot
) throws JFxLibException, IOException
FxDateCalculator calculator = FxDateCalculator.newInstance(crossCcy);
LocalDate spotDate = calculator.getSpotDate(date);
Assertions.assertEquals(expectedSpot, spotDate, "Cross " + crossCcy + ", date=" + date + ",");
Mvn:
$ mvn test
[INFO] Scanning for projects...
....
Running com.fx.jfxlib.calc.date.FxDateCalculatorTest
Tests run: 572, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.406 sec - in com.fx.jfxlib.calc.date.FxDateCalculatorTest
....
Results :
Tests run: 2274, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.619 s
[INFO] Finished at: 2019-03-26T11:38:45+01:00
[INFO] ------------------------------------------------------------------------
Eclipse:
org.junit.jupiter.api.extension.ParameterResolutionException: Error resolving parameter at index 1
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:63)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:207)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:163)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:114)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:86)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$11$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:86)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:36)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
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 org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.IllegalArgumentException: Invalid format: "date"
at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:828)
at org.joda.time.format.DateTimeFormatter.parseLocalDate(DateTimeFormatter.java:772)
at com.bancaimi.fx.jfxlib.test.util.converter.LocalDateConverter.convert(LocalDateConverter.java:19)
at org.junit.jupiter.params.ParameterizedTestParameterResolver.resolveParameter(ParameterizedTestParameterResolver.java:60)
... 98 more
My csv input has headers (but Eclipse does not skip the header line)
cross;date;expected spot
EURUSD;09/12/2015;11/12/2015
EURUSD;04/12/2015;08/12/2015
I'm using Eclipse Oxygen:
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200
java eclipse junit
java eclipse junit
asked Mar 26 at 11:07
ecittaecitta
164 bronze badges
164 bronze badges
IsINPUT_FILE_NAMEa relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).
– howlger
Mar 26 at 12:46
It is a relative path, and the resource is in the classpath. From Javadoc:The CSV classpath resources to use as the sources of arguments; must not be empty.In fact the file is found and read, I just get an exception while reading the parameters
– ecitta
Mar 26 at 12:55
I see.numLinesToSkipexists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.
– howlger
Mar 26 at 13:30
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't containnumLinesToSkip
– ecitta
Mar 26 at 13:53
Great, in the current Javadoc there is no Since atnumLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.
– howlger
Mar 26 at 14:03
add a comment |
IsINPUT_FILE_NAMEa relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).
– howlger
Mar 26 at 12:46
It is a relative path, and the resource is in the classpath. From Javadoc:The CSV classpath resources to use as the sources of arguments; must not be empty.In fact the file is found and read, I just get an exception while reading the parameters
– ecitta
Mar 26 at 12:55
I see.numLinesToSkipexists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.
– howlger
Mar 26 at 13:30
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't containnumLinesToSkip
– ecitta
Mar 26 at 13:53
Great, in the current Javadoc there is no Since atnumLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.
– howlger
Mar 26 at 14:03
Is
INPUT_FILE_NAME a relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).– howlger
Mar 26 at 12:46
Is
INPUT_FILE_NAME a relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).– howlger
Mar 26 at 12:46
It is a relative path, and the resource is in the classpath. From Javadoc:
The CSV classpath resources to use as the sources of arguments; must not be empty. In fact the file is found and read, I just get an exception while reading the parameters– ecitta
Mar 26 at 12:55
It is a relative path, and the resource is in the classpath. From Javadoc:
The CSV classpath resources to use as the sources of arguments; must not be empty. In fact the file is found and read, I just get an exception while reading the parameters– ecitta
Mar 26 at 12:55
I see.
numLinesToSkip exists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.– howlger
Mar 26 at 13:30
I see.
numLinesToSkip exists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.– howlger
Mar 26 at 13:30
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't contain
numLinesToSkip– ecitta
Mar 26 at 13:53
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't contain
numLinesToSkip– ecitta
Mar 26 at 13:53
Great, in the current Javadoc there is no Since at
numLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.– howlger
Mar 26 at 14:03
Great, in the current Javadoc there is no Since at
numLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.– howlger
Mar 26 at 14:03
add a comment |
1 Answer
1
active
oldest
votes
Ok, solved.
Eclipse Oxygen uses by default org.junit.jupiter.api_5.0.0, which does not contain numLinesToSkip parameter in CsvFileSource annotation.
My Maven dependency had version 5.1.0, which contains this parameter. That's why it worked properly. Upgrading Eclipse to 2018-12 (org.junit.jupiter.api_5.3.1) made the deal for me.
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55355658%2fjunit5s-csvfilesource-annotation-not-working-with-eclipse%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Ok, solved.
Eclipse Oxygen uses by default org.junit.jupiter.api_5.0.0, which does not contain numLinesToSkip parameter in CsvFileSource annotation.
My Maven dependency had version 5.1.0, which contains this parameter. That's why it worked properly. Upgrading Eclipse to 2018-12 (org.junit.jupiter.api_5.3.1) made the deal for me.
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
add a comment |
Ok, solved.
Eclipse Oxygen uses by default org.junit.jupiter.api_5.0.0, which does not contain numLinesToSkip parameter in CsvFileSource annotation.
My Maven dependency had version 5.1.0, which contains this parameter. That's why it worked properly. Upgrading Eclipse to 2018-12 (org.junit.jupiter.api_5.3.1) made the deal for me.
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
add a comment |
Ok, solved.
Eclipse Oxygen uses by default org.junit.jupiter.api_5.0.0, which does not contain numLinesToSkip parameter in CsvFileSource annotation.
My Maven dependency had version 5.1.0, which contains this parameter. That's why it worked properly. Upgrading Eclipse to 2018-12 (org.junit.jupiter.api_5.3.1) made the deal for me.
Ok, solved.
Eclipse Oxygen uses by default org.junit.jupiter.api_5.0.0, which does not contain numLinesToSkip parameter in CsvFileSource annotation.
My Maven dependency had version 5.1.0, which contains this parameter. That's why it worked properly. Upgrading Eclipse to 2018-12 (org.junit.jupiter.api_5.3.1) made the deal for me.
edited Apr 23 at 7:51
answered Mar 26 at 13:45
ecittaecitta
164 bronze badges
164 bronze badges
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
add a comment |
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
I would even recommend updating to the latest Eclipse 2019-03, as JUnit 5 support has been further improved. ;)
– Pyves
Apr 23 at 7:53
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55355658%2fjunit5s-csvfilesource-annotation-not-working-with-eclipse%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Is
INPUT_FILE_NAMEa relative or absolute path? If relative, make sure the Working directory is correctly set in the launch configuration (in the tab Arguments).– howlger
Mar 26 at 12:46
It is a relative path, and the resource is in the classpath. From Javadoc:
The CSV classpath resources to use as the sources of arguments; must not be empty.In fact the file is found and read, I just get an exception while reading the parameters– ecitta
Mar 26 at 12:55
I see.
numLinesToSkipexists from the beginning of JUnit 5, so a possible explanation would be that you use a prerelease of JUnit 5 in your Java build path (as the issue is caused by JUnit code, not by Eclipse code). Unfortunately you are using a very old Eclipse version, without the Show Command Line feature, which would be helpful here.– howlger
Mar 26 at 13:30
Thanks @howlger, you are right. I was using a Junit5 version without that parameter. Actually it was a release version (5.0.0), but it didn't contain
numLinesToSkip– ecitta
Mar 26 at 13:53
Great, in the current Javadoc there is no Since at
numLinesToSkip, so I assumed by mistake it was already supported by JUnit 5.0. Anyhow, problem solved.– howlger
Mar 26 at 14:03