在Django中创建测试的约定是将测试放置在名为tests_*.py
的模块中,然后以python manage.py test
的身份运行。
这将在名为test的所有模块中运行所有测试定义的测试。
我遇到的挑战是集成测试可能需要大量的资源设置,例如与外部服务的连接。我想象在集成测试中模拟那些服务会导致集成测试失去它们的含义。
因此,我询问仅运行单元测试以及仅在单元测试正常运行时才运行集成测试的最佳实践。
我能想象的唯一方法是将integration tests
放在以其他模式命名的文件中,例如integration_*.py
,然后在运行django documentation指定的集成测试时使用pattern参数
喜欢python manage.py test --pattern="integration_*"
。
这样,在调用python manage.py test
时,集成测试将被忽略。
有人有建议吗?