テストに必要なさまざまな設定でBaseクラスを作成しようとしています。すべてのテストをこのBaseクラスから継承したいと考えています。ランナーとしてpy.testを使用します。
しかし、そうしようとすると、 py.test はBaseクラスから継承されたこれらのテストを収集しないため、実行されません。ドキュメントに有用な情報が見つかりませんでした。
誰かが以前にそのような問題に直面したのではないでしょうか? 何か案は?
ありがとう。
PS テストがオブジェクトから継承されると、すべて正常に動作します。Py.test はそれらを見て正しく実行します。
コードの例:
私の基本クラス:
class BaseClass(object):
"""BaseClass"""
def __init__(self):
super(BaseClass, self).__init__()
self.bla = 'bla'
私のテストクラス:
import pytest
from base_class import BaseClass
class TestSmth(BaseClass):
def test_test(self):
test_instatnce = TestSmth()
print test_instatnce.bla
if __name__ == '__main__':
pytest.main([__file__, '-v'])
出力:
============================= test session starts ==============================
platform darwin -- Python 2.7.2 -- pytest-2.3.3 -- /usr/bin/python
collecting ... collected 0 items
=============================== in 0.01 seconds ===============================
[Finished in 0.4s]