У меня есть модульный тест в Java, который записывает постоянную метку времени в строку в моей локальной тестовой базе данных, считывает ее обратно и сравнивает с тем, что я ожидал. Это хорошо работает на моем локальном ноутбуке, который находится под часовым поясом GMT.
Когда я фиксирую код на нашем сервере непрерывной интеграции, тест завершается неудачей с разницей во времени - 5 часов. Это неудивительно, поскольку наш сервер интеграции размещен на AWS на восточном побережье США. Тем не менее, это вызывает проблему ...
Если не считать того, что мой локальный сервер MySQL имеет тот же часовой пояс, что и удаленный сервер (и так делают все разработчики в моей команде), может кто-нибудь показать мне, как исправить эту проблему в коде, не становясь слишком взломанным? 1005 *
//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);
Спасибо