Я столкнулся с проблемой при написании тестов для приложения базы данных с использованием JPA2 и EclipseLink:
Я добавляю какой-то объект в базу данных, извлекаю его позже и хочу сравнить его с экземпляром, который имеет значения, которые я ожидаю, чтобы подтвердить, что сложение работает так, как я предполагал.
Сначала я написал что-то вроде
assertEquals(expResult, dbResult);
который не удалось, потому что я не могу знать значение поля id
, которое генерируется базой данных, и поэтому dbResult
отличается от expResult
, который я создал с помощью new
, и заполнен вручную.
Я вижу два варианта:
-
Либо я удаляю поле
id
изequals
иhashCode
, чтобы сравнение было основано только на "реальных значениях". Я не знаю, вызвало ли это проблемы в базе данных или в других местах. -
Или я пишу свои тесты, чтобы явно проверять каждое поле, кроме
id
вручную.
Что мне делать?