在编写集成测试时,我期待响应中有一个硬编码的日期。
基本上我硬编码expected date value '2020-11-10T00:00:00.000-05:00'
并运行 new GregorianCalendar(2020, 10, 10).getTime()
当我在本地放置和断言并运行它时,它通过了,但是当相同的代码被推送到竹构建服务器时,它生成的实际值是'2020-11-10T00:00:00.000Z'
,所以我的测试失败了。
为什么同一个 calendar.getTime 生成两个不同的时间,是因为服务器机器配置为 GMT 吗?
我可以做些什么让它们同时使用或任何其他解决方法吗?
注意:在这里将其设为字符串或比较没有时间的日期不是一个选项,因为我使用的是 Spring MockWebServiceServer,在其中我必须对 responseXML 进行硬编码并指定日期,就像在 Enum 中这样。
REQUESTAUTOMATESETTLEMENTWORKCASE("<aut:AutomateSettlementWorkcaseRequest xmlns:aut=\"http://www.abcd.com/abcd/workflow/services/workcase/model/AutomateSettlementWorkcase_1_0_0\">" +
" <aut:customerAccountId>5049903033584324</aut:customerAccountId>\n" +
" <aut:settlementDate>2020-11-10T00:00:00.000-05:00</aut:settlementDate>\n" +
" </aut:AutomateSettlementWorkcaseRequest>"),