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;








2















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










share|improve this question






















  • 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












  • 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











  • 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

















2















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










share|improve this question






















  • 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












  • 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











  • 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













2












2








2








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










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 26 at 11:07









ecittaecitta

164 bronze badges




164 bronze badges












  • 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












  • 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











  • 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

















  • 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












  • 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











  • 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
















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












1 Answer
1






active

oldest

votes


















0














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.






share|improve this answer

























  • 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










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
);



);













draft saved

draft discarded


















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









0














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.






share|improve this answer

























  • 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















0














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.






share|improve this answer

























  • 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













0












0








0







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.






share|improve this answer















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.







share|improve this answer














share|improve this answer



share|improve this answer








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

















  • 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






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.



















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해