私のオートメーションフレームワークは、フィクスチャの代わりにpytest setup/teardownタイプのテストを使用します。私もクラスのいくつかのレベルがありますpytest:セットアップ/ティアダウンメソッドでパラメータ値を取得
BaseClass
- 最高の、すべてのテストはそれから
FeatureClass
をinhriet - メディア、プログラムに関連するすべてのテストはそれから
TestClass
を継承しています - 実際のテストを保持
に呼び出しを変更
編集、すべてのセットアップ/ティアダウンでDBレポートを追加します。すなわち私は一般BaseClass
setup_method
がテスト用のDBエントリを作成し、teardown_method
がその結果でエントリを変更することを望みます。私は試してみましたが、実行時に現在実行中のテストの値をメソッドから抜け出すことができません。それも可能ですか?それ以外の場合はどうすればいいですか?
サンプル: (base.py中)(test_my_feature.pyで)
class Base(object):
test_number = 0
def setup_method(self, method):
Base.test_number += 1
self.logger.info(color.Blue("STARTING TEST"))
self.logger.info(color.Blue("Current Test: {}".format(method.__name__)))
self.logger.info(color.Blue("Test Number: {}".format(self.test_number)))
# --->here i'd like to do something with the actual test parameters<---
self.logger.info("print parameters here")
def teardown_method(self, method):
self.logger.info(color.Blue("Current Test: {}".format(method.__name__)))
self.logger.info(color.Blue("Test Number: {}".format(self.test_number)))
self.logger.info(color.Blue("END OF TEST"))
(my_feature.pyで)
class MyFeature(base.Base):
def setup_method(self, method):
# enable this feature in program
return True
class TestClass(my_feature.MyFeature):
@pytest.mark.parametrize("fragment_length", [1,5,10])
def test_my_first_test(self):
# do stuff that is changed based on fragment_length
assert verify_stuff(fragment_length)
ようにどのようにすることができテストフレームワークの基本親クラスのsetup_methodのパラメータを取得しますか?
あなたは 'unittest.TestCase'を使用していますか?次に、 'setup'の値を' self'に設定し、テストでそれを取得することができます。この質問に答えるにはサンプルコードのような詳細が必要です。 – Arunmozhi
@Arunmozhi私はいくつかの基本的なコードを追加しました、それは私がやろうとしていることを明確にすることを願って –