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

unl*_*kme 4 python django unit-testing

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

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

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

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

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

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

这样当python manage.py test调用集成测试时就会被忽略。

有没有人有建议或者推荐。

Toa*_* Ho 8

您可以使用标记测试来处理这个问题。尝试用名称标记您的测试:

./manage.py test --tag=integration
Run Code Online (Sandbox Code Playgroud)