decorator @unittest.SkipTest
防止在测试类中运行单元测试时自动执行单元测试。不幸的是,它也使
PyCharm中的单个执行(通过右键单击函数和
为此测试方法选择Run/Debug)失败,返回TypeError: don't know how to make test from: <function .... at 0x7fbc8e1234c0>
有没有办法禁止单元测试自动(批量)执行
当运行完整的测试类时,但是让它手动执行(最好是PyCharm),这样它就可以运行而不需要在测试文件中做任何更改?
我想
@unittest.skipUnless(condition, reason)
可能会派上用场,但无法提出仅在测试完成时才满足的条件
手工发射。感谢您的建议!你知道吗
您是否尝试过包含在运行CI/CD时设置的参数?可以将默认值设置为false,然后CI/CD将其设置为true。这将给你的条件,你正在寻找。你知道吗
据我所知,区分CI/CD运行和IDE运行的唯一方法是通过一些必须设置的中间参数。你知道吗
编辑: 尝试在PyCharm中为特定测试设置自定义生成配置。您可以将构建配置传递到testsuite的参数中。在这一点上,当您使用命令行vs PyCharm的集成测试运行程序运行测试时,您将有一个适当的条件使此测试不会被跳过。你知道吗
为简单起见,您希望参数的默认值为skip,并且只通过在PyCharm中的特殊构建配置中将True传递给该参数,将布尔值设置为notskip。你知道吗
见:https://www.jetbrains.com/help/idea/build-configuration.html
我会尝试用一个只在PyCharm或其他IDE中设置的参数来控制它。你知道吗
也就是说,可以将
skipUnless(...)
与PyCharm测试配置中定义的环境变量相关的条件一起使用。你知道吗下面是一个完整的示例:
从shell运行时,测试确实被跳过:
如果选择“编辑配置…”,则可以在测试配置中设置特定的环境变量,如下面的屏幕截图所示。通过此更改,所讨论的测试实际上是在PyCharm中运行的(未显示)。你知道吗
相关问题 更多 >
编程相关推荐