pytest是如何做测试选择的?

How does pytest do test selection?

我正在尝试使用“-k”选项找出 py.test 选择的表达式语法。

我看过示例,但我不清楚使用 'k' 标签时的语法选项是什么。

我正在尝试扫描 py.test 源代码,但到目前为止还没有成功。

任何人都可以指点一下 py.test 测试选择 (-k) 的语法吗?

嗯..它没有很好的记录主要是因为它有点混乱而且定义不明确。您可以使用 'and'、'or' 和 'not' 来匹配测试名称 and/or 及其标记中的字符串。 At heart,这是一个 eval

目前(希望语法得到改进之前)我的建议是:

  • 使用 --collectonly 确认您的 -k 在执行测试之前选择了您想要的内容
  • 根据需要将 markers 添加到测试以进一步区分它们。