繁体   English   中英

如何使用全局参数跳过python unittest

[英]How to skip python unittest with a global parameter

我在python中有一组单元测试。 其中一些使用pyqt打开图形对象,有些只是标准的独立测试。 我的目标是至少自动运行不需要打开窗口的测试,因为除非它等待用户输入然后失败。

注意:

  • 我无法删除图形测试(来自项目的约束)
  • 默认情况下,所有测试都应该运行,但是只运行一些非图形参数的参数
  • 我的测试套件是使用unittest.TestLoader()构建的

我最好的猜测是将一个全局参数传递给TestSuite,以便每个测试都可以检查该值以了解它是否应该跳过。 但在阅读unittest文档后,我找不到办法做到这一点。

我知道这个问题: 如何在没有全局变量的情况下将参数发送到UnitTest ,但我本来期望一些单元测试配置。

您可以使用unittest.skipIf(condition, reason)和环境变量来跳过图形测试。

创建一个装饰器,如:

graphical_test = unittest.skipIf(
    os.environ.get('GRAPHICAL_TESTS', False), 'Non graphical tests only'
)

然后使用@graphical_test注释您的图形测试,并在设置GRAPHICAL_TESTS=1后运行测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM