在django 中创建测试的约定是将测试放在名为tests_*.py
的模块中,然后以python manage.py test
的形式运行。
这将运行所有名为 tests 的模块中定义的所有测试测试。
我遇到的挑战是集成测试可能需要大量设置资源,例如连接到外部服务。我想在集成测试中嘲笑这些服务会导致集成测试失去意义。
因此,我正在询问仅运行单元测试并且仅在单元测试正常运行时运行集成测试的最佳实践。
我能想象的唯一方法是将integration tests
放在以不同模式(如integration_*.py
(命名的文件中,然后在运行 django 文档指定的集成测试时使用 pattern 参数
像这样python manage.py test --pattern="integration_*"
.
这样,当python manage.py test
被称为集成测试时将被忽略。
有没有人有建议或推荐。
您可以使用标记测试来处理此问题。然后尝试用名称标记您的测试:
./manage.py test --tag=integration