最近几天,我在官方中学到了Junit5。最近我想用它作为我的测试实例,但是我遇到了一个困难。
我试着让LocalDate作为params的价值,但我已经尝试了我所有的知识去做,但都失败了。
这是我的密码
@ParameterizedTest
@CsvSource({"2020-2-2,2010-2-3"})
void t5_1(LocalDate a, LocalDate b) {
final Duration between = Duration.between(a, b);
System.out.println(between.toDays());
}
static Stream<Arguments>timeArrayProvider() {
return Stream.of(
Arguments.of((Object) new String[]{"2020-2-2","2010-2-3"})
);
}如果你知道的话,先谢谢你。
发布于 2022-09-13 16:03:28
我找到了使用默认转换器的解决方案:
@ParameterizedTest
@CsvSource({"true, 3.14159265359, AUGUST, 2018, 2018-08-23T22:00:00"})
void testDefaultConverters(
boolean b, double d, Summer s, Year y, LocalDateTime dt) { }
enum Summer {
JUNE, JULY, AUGUST, SEPTEMBER;
}如果您的约会不在ISO 8601中,@JavaTimeConversionPattern可以帮助您解决以下问题:
@ParameterizedTest
@CsvSource({"true, 3.14159265359, AUGUST, 2018, 23.08.2018"})
void testDefaultConverters(
boolean b, double d, Summer s, Year y,
@JavaTimeConversionPattern("dd.MM.yyyy") LocalDate dt) { }https://stackoverflow.com/questions/69270657
复制相似问题