我正在使用 django-nose
来运行我的测试,我需要知道它们何时从我的 View /模型方法/等中运行,这样我就可以跳过检查缓存值或调用一些项目外部资源,例如仅在运行测试时。
最好有某种可用的环境变量或类似的东西,这样我就可以做类似的事情:
if os.environ.get('TESTS_ARE_RUNNING'):
# skip this
或
if not TESTS_ARE_RUNNING:
# do something
有人知道实现这个的方法吗?
在此先感谢您的帮助:)
最佳答案
这是可能的,你可以看到Detect django testing mode关于如何但你不应该为这个用例这样做。
... so I can skip stuff like checking cache values or calling some project-external resources for example...
如果您这样做,您打算如何测试您的应用程序在这些外部资源出现故障或行为异常时的处理情况?我建议您查看 mock库并模拟这些外部调用。这还允许您断言这些调用已正确执行,并且您的应用程序可以在它们未按预期返回时进行处理。
关于django - 如何知道何时使用 django-nose 运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799928/