クラス skipif デコレータで pytest フィクスチャ (scope=module) を使用しようとしていますが、フィクスチャが定義されていないというエラーが表示されます。これは可能ですか?
conftest.py には、CurrentTarget オブジェクトを返す「ターゲット」と呼ばれるモジュール スコープを持つフィクスチャがあります。CurrentTarget オブジェクトには関数 isCommandSupported があります。test_mytest.py には、多数のテスト関数を含むクラス Test_MyTestClass があります。フィクスチャ target.isCommandSupported の場合に基づいて Test_MyTestClass のすべてのテストをスキップしたいので、次のように Skipif で Test_MyTestClass を装飾します。
@pytest.mark.skipif(not target.isCommandSupprted('commandA), reason=command not supported')
class Test_MyTestClass:
...
次のエラーが表示されます: NameError: name 'target' が定義されていません
私が試してみると:
@pytest.mark.skipif(not pytest.config.getvalue('tgt').isCommandSupprted('commandA), reason=command not supported')
class Test_MyTestClass:
...
次のエラーが表示されます: AttributeError: 'function' object has no attribute 'isCommandSupprted'