私は、各テストのためにwebdriverをインスタンスを作成します。このautouse器具を持っている:pytest - autouse fixtureを無視する方法はありますか?
@pytest.fixture(autouse=True)
def use_phantomjs(self):
self.wd = webdriver.PhantomJS()
yield
self.close_wd()
しかし、我々のテストのいくつかは、私たちのAPIのいずれかにバグが原因PhantomJS上で実行することはできません。これらのテストはChromeのみ(またはFirefox)で実行することができますので、私はChromeを使ってwebdriverをインスタンスのための別の方法を作成しました:私はそれらのテストに使用する予定の
def use_chrome(self):
self.wd = webdriver.Chrome()
が、私は上記のautouse器具の周りに取得することはできません。
いくつかのテストでは、オートセットアップのフィクスチャをオーバーライドする方法はありますか?私はそれぞれのテストのためにpytest.mark.usefixtures
を使用しようとしましたが、それぞれのすべてのテストにそのデコレータを置くのは理想的ではないようです。誰かがメタクラスを使用して言及しましたが、私は彼らがまだどのように動作しているか完全に理解していないので、私は逃したかもしれない別の方法があるかどうか疑問に思っていました。
のようなテストをマークしたがあまりにも反復的で、各テストごとにフィクスチャーを置く必要はありません。 – banx