猿问

在 django 中与单元测试分开运行集成测试

在 django 中创建测试的惯例是将测试放在名为的模块tests_*.py中,然后以python manage.py test.

这将在名为测试的所有模块中运行所有测试定义的测试。

我遇到的挑战是集成测试可能需要大量资源设置,例如与外部服务的连接。我想在集成测试中模拟这些服务会导致集成测试失去意义。

因此,我正在询问仅运行单元测试的最佳实践,并且仅在单元测试正常运行时才运行集成测试。

我能想象的唯一方法是放置integration tests在以不同模式命名的文件中,例如integration_*.py,然后在运行django 文档指定的集成测试时使用模式参数

像这样python manage.py test --pattern="integration_*"

这样当python manage.py test被称为集成测试时将被忽略。

有没有人有建议或建议。


慕斯709654
浏览 194回答 1
1回答

胡说叔叔

您可以使用标记测试来处理此问题。尝试用名称标记您的测试,然后:./manage.py test --tag=integration
随时随地看视频慕课网APP

相关分类

Python
我要回答