java8 grails 2.5.5 单元测试中的日期
java8 dates in grails 2.5.5 unit testing
我正在使用带有 java 8 的 grails 2.5.5。为了让它与新日期一起工作,我定义了 java 8 个日期 (ZonedDateTime) 和 database/hibernate 日期。这很好用,一点问题都没有
问题从这里开始:单元测试:
我有一个使用
的方法
Foo.withCriteria{
ge("startDate",foo.startDate)
}
现在的问题是 startDate 是一个 ZonedDateTime,我收到错误消息,指出 Foo 的 startDate 不存在 属性。使用 FindAllBy 会出现同样的问题。
我不能模拟这个方法,因为它是一个私有方法。我如何让这些 java 8 个日期在单元测试中工作?
(如果我提供的信息太少,尽管问,我可以提供,但我认为这就足够了,我希望它尽可能通用以用于 Whosebug)
每个日期都有不同的格式,因此您必须检查日期的类型和格式是否相同。您的 Java 8 可能使用 java.util.Date 和 SimpleDateFormatter.
请检查您的单元测试框架日期格式,它可能是 DateTime 格式,因此会导致差异并可能导致您出错。
关于以下代码:
Foo.withCriteria{
ge("startDate",foo.startDate)
}
确保 foo.startDate 已使用格式正确的单元测试框架正确初始化。
您还可以使用其他日期格式,例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date convertedCurrentDate = sdf.parse(currentDateText);
这些是使用数据库的非常流行的格式,这可以解释为什么
Using FindAllBy gives the same problem.
我正在使用带有 java 8 的 grails 2.5.5。为了让它与新日期一起工作,我定义了 java 8 个日期 (ZonedDateTime) 和 database/hibernate 日期。这很好用,一点问题都没有
问题从这里开始:单元测试: 我有一个使用
的方法Foo.withCriteria{
ge("startDate",foo.startDate)
}
现在的问题是 startDate 是一个 ZonedDateTime,我收到错误消息,指出 Foo 的 startDate 不存在 属性。使用 FindAllBy 会出现同样的问题。
我不能模拟这个方法,因为它是一个私有方法。我如何让这些 java 8 个日期在单元测试中工作?
(如果我提供的信息太少,尽管问,我可以提供,但我认为这就足够了,我希望它尽可能通用以用于 Whosebug)
每个日期都有不同的格式,因此您必须检查日期的类型和格式是否相同。您的 Java 8 可能使用 java.util.Date 和 SimpleDateFormatter.
请检查您的单元测试框架日期格式,它可能是 DateTime 格式,因此会导致差异并可能导致您出错。
关于以下代码:
Foo.withCriteria{
ge("startDate",foo.startDate)
}
确保 foo.startDate 已使用格式正确的单元测试框架正确初始化。
您还可以使用其他日期格式,例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date convertedCurrentDate = sdf.parse(currentDateText);
这些是使用数据库的非常流行的格式,这可以解释为什么
Using FindAllBy gives the same problem.