これがだまされているかどうかわからない。ここに行きます。
次のようなPythonコードを作成する必要があります。
class TestClass:
def test_case(self):
def get_categories(self):
return [“abc”,”bcd”]
# do the test here
次に、これらすべてのテストクラスをスキャンし、すべてのtest_case関数をロードし、get_categoriesを呼び出して、テストが特定の実行の対象グループに属しているかどうかを確認するテストエンジンクラスを用意します。
問題は、get_categoriesがtest_caseの属性として表示されず、手動で割り当てたとしても、
class TestClass:
def test_case(self):
def get_categories(self):
return [“abc”,”bcd”]
# do the test here
test_case.get_categories = get_categories
これは、test_caseが最初に実行されたときにのみ発生し、私には遅すぎます。
この関数をクラスに含めることができない理由(または少なくとも関数ごとのレベルでも使用できるようにしたい理由)は、TestClassが複数のテストケースを持つことができるためです。これは既存のテストインフラストラクチャであり、カテゴリメカニズムが機能するため(重要性が低いカテゴリオン機能シナリオを除く)、書き直しは計画に含まれていません。
言語のトリックは大歓迎です。