2014-12-22 3 views
0

Я пытаюсь запустить некоторые модульные тесты для проекта, который уже был разработан. Я вытащил его в свою систему в репозитории git, а затем построил его в командной строке. Все это удалось, и все тесты выполняются, однако, внутри затмения. Кажется, я получаю сообщение об ошибке (я думаю, что ошибка данных, а не ошибка Java).Eclipse дает ошибки, которые я не могу понять

Это то, что я думаю, что сообщение об ошибке:

org.springframework.dao.DataIntegrityViolationException: Дублированный запись '11' для ключа 'line_item_ref_number_unique'; SQL [n/a]; ограничение [null]; вложенное исключение org.hibernate.exception.ConstraintViolationException: Дублированный запись «11» для ключа «» line_item_ref_number_unique

Я не очень хорошо при отладке и будет бороться, чтобы добраться до этой проблемы таким образом. Я буду размещать больше кода по запросу, но не хочу бомбардировать область вопросов потенциальным ненужным кодом.

Это может быть не очень полезно, что я сказал до сих пор, но у кого-нибудь есть какие-либо решения или советы?

+2

Ваша ошибка выглядит так, как будто она исходила из спящего режима. Таким образом, в вашей базе данных есть дублируемая строка, которой не было, когда вы запускали первый тест. Возможно, вам стоит начать с чистой базы данных? – RealSkeptic

+0

@RealSkeptic как очистить базу данных? я использую свой sql – BlueShark

+0

Вы должны проверить, кто запрограммировал этот проект (или если есть документация). Много раз, будет вариант сборки для «очистки». Я не могу помочь вам, потому что я не знаю проект. Конечно, если это производственная база данных, ** не ** чистите ее. – RealSkeptic

ответ

0

Вы столкнулись с проблемой ConstraintViolationException, которая не была выпущена в среду затмения.

Nested exception is org.hibernate.exception.ConstraintViolationException 

Просмотрите свои записи в базе данных и код, который пытается добавить значения.

1
org.hibernate.exception.ConstraintViolationException: 
Duplicate entry '11' for key 'line_item_ref_number_unique' 

В базе данных line_item_ref_number_unique уникальный ключевой столбец, и вы пытаетесь добавить повторяющиеся записи в этом столбце, так что дает вам ConstraintViolationException.

не учитывайте эту ошибку как ошибку eclipse, это исключение для спящего режима.
Вы должны проверить, что вы вставляете в вашу базу данных? и почему он дублирует запись?

0

Я думаю, вы пытаетесь вставить данные с первичным ключом, который уже находится в базе данных или пытается ввести дубликаты данных в уникальное поле. Измените этот фрагмент кода.

Для целей тестирования вы можете настроить hibernate для повторного создания схемы при каждом запуске приложения, добавив эту строку в свой конфигурационный файл hibernate.

hibernate.hbm2ddl.auto = create | create-drop 
Смежные вопросы