Junit5 的 @CsvFileSource 注释不适用于 Eclipse

我正在使用 Junit 5 运行一组测试。如果它们由 Maven 启动,它们可以正常工作,但我无法在 Eclipse 中正确运行它们。


显然,问题在于 Eclipse 没有正确考虑注释@CsvFileSource的参数。


测试:


@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] ------------------------------------------------------------------------


MMMHUHU
浏览 165回答 1
1回答

扬帆大鱼

好了,解决了。Eclipse Oxygen 默认使用 ,这在注释中不包含参数。org.junit.jupiter.api_5.0.0numLinesToSkipCsvFileSource我的 Maven 依赖项有版本 ,其中包含此参数。这就是为什么它能正常工作的原因。将Eclipse升级到2018-12()对我来说是一笔交易。5.1.0org.junit.jupiter.api_5.3.1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java