Это проект Django (django = 2.1.7, python3.7, django-поведенческий == 0.1.6), и все тесты выполняются успешно, пока я не добавлю django-поведение для запуска тестов в стиле BDD с использованием поведения.Я установил:
, и когда я запускаю тесты с использованием теста ./manage.py, тесты поведения успешно выполняются.Тем не менее, я получаю исключение "django.db.utils.IntegrityError", когда оно разрывает тестовую базу данных.То же самое происходит с другой библиотекой интеграции Django Behave, поведением-django.Шаг реализации пуст.Ниже приведено описание трассировки стека:
Добавление: партнерские тесты # flipr / features / affiliate.feature: 2
Сценарий: создание новой истории с идентификатором партнера # flipr / features / affiliate.Возможность: 3 Дано Мы создаем партнера с именем «Тестовый партнер» # flipr / features / steps / affiliate.py: 6
1 функция пройдена, 0 не выполнена, 0 пропущена 1 сценарий пройдена, 0 не выполнена, 0 пропущена1 шаг пройден, 0 не пройден, 0 пропущен, 0 неопределен. Взял 0m0.000 с
Отслеживание ошибок (последний вызов был последним): Файл "/ Users / fnegarestan / Documents / GitHub / flipr / venv / lib / python3.7 / site-packages / django / db / backends / base / base.py ", строка 239, в _commit return self.connection.commit () sqlite3.IntegrityError: Сбой ограничения FOREIGN KEY
Вышеуказанное исключение былоНепосредственная причина следующего исключения:
Traceback (последний вызов был последним): Файл "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/test/testcases.py ", строка 209, в вызов self._posФайл t_teardown () "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/test/testcases.py", строка 908, в файле _post_teardown self._fixture_teardown () "/Пользователи / fnegarestan / Documents / GitHub / flipr / venv / lib / python3.7 / site-packages / django / test / testcases.py ", строка 943, в файле _fixture_teardown injit_post_migrate = injit_post_migrate)" / Users / fnegarestan / Documents / GitHub/flipr/venv/lib/python3.7/site-packages/django/core/management/init.py ", строка 148, в call_command, возвращение command.execute (* args, ** defaults) Файл"/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/core/management/base.py", строка 353, в файле output output = self.handle (* args, *)* options) Файл "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/core/management/commands/flush.py", строка 80, в дескрипторе emit_post_migrate_signal (многословие,интерактивный, база данных) Файл "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages / django / core / management / sql.py ", строка 51, в файле emit_post_migrate_signal ** файл kwargs" /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py ", строка 175, в отправке для получателя в файле self._live_receivers (отправитель)" /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py ", строка 175, для получения в файле self._live_receivers (отправитель)" /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/contrib/auth/management/ init .py ", строка 79, в create_permissions Permission.objects.using (with) .bulk_create (perms) File" /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages / django / db / models / query.py ", строка 471, в файле bulk_create obj_without_pk._state.db = self.db" /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages / django / db /action.py ", строка 212, в выход файл connection.commit ()" / Users / fnegarestan /Documents / GitHub / flipr / venv / lib / python3.7 / site-packages / django / db / backends / base / base.py ", строка 261, в коммитеФайл self._commit () "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/backends/base/base.py", строка 239, в _commit возвращает selfФайл .connection.commit () "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/utils.py", строка 89, в выход поднять dj_exc_value.with_traceback (traceback) из файла exc_value "/Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/backends/base/base.py", строка 239, в _commit возвращает self.connection.commit () django.db.utils.IntegrityError: Сбой ограничения FOREIGN KEY