我有一个像这样的黄瓜stepdef
Given the date of <date>
When blah blah
Then x y and z
Examples:
|2015-01-01|
|2045-01-01|
当我由此生成stepdefs时,我得到@Given("^the date of (\\d+)-(\\d+)-(\\d+)$")
该方法以三个整数作为参数生成。
我如何告诉 Cucumber 将其视为 Java.Time LocalDate?有没有办法创建 Cucumber 能够理解的映射器?或者至少,有没有办法将该日期对象视为字符串而不是三个数字?
修改您的步骤定义以接受整个日期的字符串。也许可以使用 (.*?) 之类的东西来代替 3 个整数。
@Given("^the date of (.*?)$")
public void storeDate(@Transform(DateMapper.class) LocalDate date){
}
变压器类
public class DateMapper extends Transformer<LocalDate>{
@Override
public LocalDate transform(String date) {
//Not too sure about the date pattern though, check it out if it gives correct result
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return LocalDate.parse(date, formatter);
}
}
Cucumber 应该为您将字符串格式转换为日期对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)