2016-02-22 44 views
0

我只想在我的測試套件中運行selenium測試,除了將其過濾爲僅在特定文件/文件夾中運行測試。看起來我應該可以通過-m選項和路徑位置參數來完成此操作。此外,我正在用bash腳本來做這件事。py.test使用-m以及命令中的目錄路徑

因此,例如,我想是這樣的:

#!/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。測試命令,如上所述,我得到這個:

============================================================================ no tests ran in 0.01 seconds ============================================================================ 
ERROR: file not found: selenium" 

不完全確定爲什麼這不起作用。我會嘗試手動覆蓋pytest_runtest_setup(),但我覺得我應該能夠完成我想要的,而不是這樣做。此外,僅供參考,這一個django項目,使用Django==1.8.7pytest-django==2.9.1

任何幫助將不勝感激:)

回答

0

想通了。這與py.test本身無關。我在我的bash腳本中調用py.test命令時出錯。修改後的命令如下所示:

py.test -m "$EXTRA" -v -s --tb=long --no-flaky-report ~/project/mytests/test_blerg.py 

按預期工作!