我在 Java 中进行了单元测试,它将一个常量时间戳写入本地测试数据库中的一行,将其读回并将其与我的预期进行比较。这在我位于 GMT 时区的本地笔记本电脑上运行良好。
当我将代码提交到我们的持续集成服务器时,测试失败,时间不同为 -5 小时。这并不奇怪,因为我们的集成服务器托管在美国东海岸的 AWS 上。但是,它正在引起一个问题......
如果没有将我的本地 MySQL 服务器更改为与远程服务器具有相同的时区(并且让我团队中的所有开发人员也这样做),任何人都可以告诉我如何在代码中解决这个问题而不会太老套吗?
//Fetch actual table contents
IDataSet databaseDataSet = databaseTester.getConnection().createDataSet();
ITable actualTable = databaseDataSet.getTable("batch");
// Load expected data from an XML dataset
IDataSet expectedDataSet = new XmlDataSet(getClass().getResourceAsStream("/dbunit/expected_insert_batch.xml"));
ITable expectedTable = expectedDataSet.getTable("batch");
// Assert actual database table match expected table
Assertion.assertEquals(expectedTable, actualTable);
谢谢,