为了账号安全,请及时绑定邮箱和手机立即绑定

并行运行测试时的错误

并行运行测试时的错误

炎炎设计 2022-08-02 16:18:58
当我尝试并行运行测试时,会出现多个问题。根据文档,“test_”被附加到数据库中指定的数据库名称之前。我使用了名称“postgres”,因此在运行测试时创建的数据库称为test_postgres。并行运行测试时,将创建以下数据库(这是预期的):test_postgres_1、test_postgres_2、test_postgres_3和test_postgres_4。但是,使用该选项运行所有测试时,每个测试都会失败,并显示以下消息:其中 x 可以是 1、2、3 或 4。我可以看到已经创建了以下数据库:其中x可以是1,2,3或4。“postgres_x”从何而来?为什么“test_”没有附加到这些前面?--parallel=4django.db.utils.OperationalError: FATAL:  database "postgres_x" does not existtest_postgres_x此外,如果我手动创建预期的数据库(x = 1 到 4),则应用于“主”数据库的迁移不会应用于克隆。这会导致类似如下的错误:.使用 4 个内核时,大约 1/4 的测试通过。postgres_xdjango.db.utils.ProgrammingError: relation "users_user" does not exist最后,如果我尝试使用 迁移,我会得到:。postgres_xmigrate --database=postgres_xdjango.db.utils.ConnectionDoesNotExist: The connection postgres_x doesn't exist我确保所有测试都是隔离的,这样我就可以并行运行它们。我该怎么办?
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

我建议不要自己构建测试工具,而是使用 and,这将处理每个并行工作线程的数据库创建和迁移。(可以运行Django单元测试而无需修改)pytestpytest-djangopytest-xdistpytest



查看完整回答
反对 回复 2022-08-02
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号