django - 如何知道何时使用 django-nose 运行测试

标签 django testing nose django-nose

我正在使用 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/

相关文章:

django PDF FileResponse "Failed to load PDF document."

python - 当 Nose 测试发现测试时,Magic Mock 失败

python - 排除目录,python nosetest中的模块

python - GIS/Gdal/OSGeos 在 Windows 上的 django 中导入错误

django - include()获得了意外的关键字参数 'app_name'

Django - 如何在共享主机上设置单独的媒体/静态服务器?

string - 测试 JSTL 字符串值?

c# - 验证被调用的函数参数是否具有特定值

web-services - API/Web 服务方法检查软件

nose - 解决python中运行unittest的方式太多产生的困惑