当我在项目目录中运行py.test时,测试会运行两次。但是 py.test--collectonly
只收集一次。所以我收集了 413 个项目,其中 31 个被标记为跳过(使用数据库/文件)。当我在没有的情况下运行测试时,--collectonly
我得到了 826 次测试,跳过了 62 次,有时会少一些。
编辑:我发现它只发生在从 bash 脚本中运行时。我在命令运行之前打印了命令(py.test lib/python/ -l
)。当我从交互式 shell 执行相同操作时,我也会得到正确的结果。
更仔细地查看脚本(在此编辑的中间)发现空的“$@”实际上是作为空参数传递的,相当于py.test lib/python/ -l ''
,这会导致不正确的行为,并且任何参数都会修复它(就像--collectonly
做的那样)。