【问题标题】:Running dependent tests implicitly for command line execution of selective test in pytest隐式运行依赖测试以在 pytest 中执行选择性测试的命令行
【发布时间】:2022-01-27 21:29:02
【问题描述】:

我有一个带有以下示例测试的测试文件 ABCD.py

def test_a(): ...为 test_a 执行语句并可能生成一些输出/日志

def test_b(): ...检查一些由 test_a 生成的输出

  • test_b 需要 test_a 运行,因为 test_b 检查 test_a 以某种形式生成的某些结果。

我想有选择地从命令行运行 test_b,比如

pytest ABCD.py::test_b

并以某种方式希望先运行 test_a(不必在命令行中明确提及)然后运行 ​​test_b。

以上是一个极简示例,我有多个链接测试,我希望在从命令行运行我感兴趣的测试之前隐式调用它们。

不能在这里使用固定装置,因为我不能再将 test_a 作为测试。不能使用dependency(),因为它仅在运行整个文件时才有用,并且对于使用依赖/链接测试的选择性测试的命令行执行没有帮助。

任何建议将不胜感激。

【问题讨论】:

    标签: pytest


    【解决方案1】:

    pytest 的插件很多,包括这个:https://pytest-dependency.readthedocs.io/en/stable/usage.html#basic-usage

    它作为一个插件也很有意义,因为测试之间的依赖关系违背了 F.I.R.S.T.原则。

    【讨论】:

    • 我认为“依赖”对我的场景没有用处。当我们运行整个文件时它会有所帮助,如果“依赖”测试通过,那么只有使用该依赖项的测试才会运行。我的目标是能够从命令行运行单个测试用例而不是整个文件,并且仍然可以运行“依赖”测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2013-12-29
    • 2018-01-25
    • 2014-02-21
    • 2021-10-16
    • 2020-04-25
    相关资源
    最近更新 更多