这是一个Django项目(django = 2.1.7,python3.7,django-behave == 0.1.6),所有测试均成功运行,直到我添加django-behave才能使用行为运行BDD样式测试。我已经设定:
TEST_RUNNER ='django_behave.runner.DjangoBehaveOnlyTestSuiteRunner'
,当我使用./manage.py测试运行测试时,行为测试成功运行。但是,当我拆除测试数据库时,我收到一个“ django.db.utils.IntegrityError”异常。另一个Django Behave集成库behavior-django也是如此。步骤实现为空。以下是堆栈跟踪:
功能:伙伴关系测试#flipr / features / affiliate.feature:2
场景:使用会员ID#创建新故事 flipr / features / affiliate.feature:3 已知我们创建的合作伙伴名称为“测试合作伙伴”#flipr / features / steps / affiliate.py:6
通过了1个功能,失败了0个,跳过了0个场景,通过了0个失败,0个 跳过1步通过,0失败,0跳过,0未定义占用0m0.000s
错误回溯(最近一次通话最近):文件 “ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/backends/base/base.py”, _commit中的第239行 返回self.connection.commit()sqlite3.IntegrityError:FOREIGN KEY约束失败
上述异常是以下异常的直接原因:
回溯(最近通话最近):文件 “ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/test/testcases.py”, 第209行,在致电中 self._post_teardown()文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/test/testcases.py”, _post_teardown中的第908行 self._fixture_teardown()文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/test/testcases.py”, _fixture_teardown中的第943行 hibit_post_migrate = inhibit_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行,在执行中 输出= self.handle(* args,** options)文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/core/management/commands/flush.py” , 第80行,在手柄中 embed_post_migrate_signal(详细程度,交互性,数据库)文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/core/management/sql.py”, 第51行,在embed_post_migrate_signal中 ** kwargs文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py”, 发送中的第175行 用于self._live_receivers(sender)文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py”中的接收者, 175行,在 用于self._live_receivers(sender)文件中的接收者“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/contrib/auth/management/ init .py”, 第79行,位于create_permissions中 Permission.objects.using(使用).bulk_create(权限)文件“ /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/transaction.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”, _commit中的第239行 返回self.connection.commit()文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/utils.py”, 第89行,退出 从exc_value文件“ /Users/fnegarestan/Documents/GitHub/flipr/venv/lib/python3.7/site-packages/django/db/backends/base/base.py”中提高dj_exc_value.with_traceback(traceback), _commit中的第239行 返回self.connection.commit()django.db.utils.IntegrityError:FOREIGN KEY约束失败