我只想在我的测试套件中运行selenium测试,除了将其过滤到仅在特定文件/文件夹中运行测试。似乎我应该能够使用-m
选项和路径位置参数来完成此操作。此外,我在bash脚本中执行此操作。
例如,我尝试过这样的事情:
#!/bin/bash
# ...some logic here for determining `EXTRA` arg
EXTRA = "not selenium"
py.test -m $EXTRA -v -s --tb=long --no-flaky-report ~/project/mytests/test_blerg.py
然后我的测试看起来像这样(仍然使用xunit风格的类):
@pytest.mark.selenium
class BaseTest(UnitTest):
pass
class ChildTest(BaseTest):
def test_first_case(self):
pass
当我按照上面描述的那样运行py.test命令时,我得到了这个:
============================================================================ no tests ran in 0.01 seconds ============================================================================
ERROR: file not found: selenium"
不完全确定为什么这不起作用。我会尝试手动覆盖pytest_runtest_setup()
,但我觉得如果不这样做,我应该能够完成我想要的任务。另外,仅供参考,这个是 django项目,使用Django==1.8.7
和pytest-django==2.9.1
。
非常感谢任何帮助:)
答案 0 :(得分:0)
想出来。这与py.test
本身无关。我在bash脚本中调用py.test
命令时遇到错误。修改后的命令如下所示:
py.test -m "$EXTRA" -v -s --tb=long --no-flaky-report ~/project/mytests/test_blerg.py
按预期工作!