2017-10-08 9 views
1

私は以下のコードを評価しようとしましたが、fixtureメソッド 'newFix'は評価されていないため、コンソールは実行を試みたときに 'This is executed'以下のコマンドクラス内のPytest fixtureは実行されません

pytest -v --capture =なし

しかし、Test1とTest2をとの両方がパスを返されました。それぞれのテストの前に「これは実行されました」と表示されます。しかし、クラス行を削除して関数を一般化すると、fixtureメソッド 'newFix'が実行されます。なぜそれがクラス内で実行されていない任意のアイデア?お知らせ下さい。

import pytest 

class TestClass: 

    @pytest.fixture() 
    def newFix(): 
     print('This is executed') 

    def test_Test1(newFix): 
     assert True 

    def test_Test2(newFix): 
     assert True 
+0

として定義する必要があります#using-fixtures-from-classes-modules-or-projects – slackmart

答えて

1

テストは非静的メソッドであるため、彼らはhttps://docs.pytest.org/en/latest/fixture.htmlドキュメントを見てみましょう

def test_Test1(self, newFix): 
    # Unit test here 
関連する問題