私はPython 2.7プロジェクトを実際に覗いていますが、実際にはPythonに精通していません。 Firefoxを使用しているセレンを使用しているため、Firefoxがインストールされていないと失敗するテストがあります。テストを実行できないときにテストをスキップしたい。依存関係がないときのPythonテストをスキップ
Testクラス
class SeleniumAuthTestCase(SeleniumTestCase):
エラー私はindividual test methods skipped via annotationを持つ方法があることを考え出し
Traceback (most recent call last):
File "/mnt/vagrant/source/some/path/tests/selenium/test_auth.py", line 14, in setUpClass
super(cls, cls).setUpClass()
File "/mnt/vagrant/source/some/path/testcases.py", line 14, in setUpClass
cls.driver = Firefox()
File "/some/path/venv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 55, in __init__
self.binary = firefox_binary or capabilities.get("binary", FirefoxBinary())
File "/some/path/venv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 47, in __init__
self._start_cmd = self._get_firefox_start_cmd()
File "/some/path/venv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 163, in _get_firefox_start_cmd
" Please specify the firefox binary location or install firefox")
RuntimeError: Could not find firefox in your system PATH. Please specify the firefox binary location or install firefox
取得しています。ただし、ここでのエラーは、いずれかのテストメソッドが呼び出される前に発生します。親クラスのsetUpClass
です。
また、私はメソッドをオーバーロードすることができます考え出し:
@classmethod
def setUpClass(cls):
super(SeleniumAuthTestCase, cls).setUpClass()
だから私は依存関係がロードされている場合がチェックし、そうでない場合は、親クラスを呼び出す避けることができます。その上に、物がロードされているかどうかを示すフラグを設定し、それをチェックするメソッドごとに注釈を設定することができます。しかしこれは非常に不器用で、私はずっとこのPHPUnitのコードのような何かをしたいと思います。これは、通常、Pythonで
public function setUp() {
if (true) {
$this->markTestSkipped();
}
}
をどのように行われますか?
いくつかの 'はImportErrorを除き、あなたが追加する必要があります:'、そしてunittest.skipIf'または 'unittest.TestCase.skipTest' – o11c
@ http://stackoverflow.com/questions/11452981/skip'使用-unittest-if-some-in-setup-classが失敗する – sbarzowski