次のように、unittest2
onを使用して でPython2.5
テストを検出しています。unittest.TestLoader.discover
suite = unittest2.loader.TestLoader().discover(test_path)
unittest2.TextTestRunner(verbosity=2,
resultclass=ColorTestResult).run(suite)
test_path
私のプロジェクトのベースにあるものもあります。
他の多くのクラスによって拡張およびオーバーロードされた基本クラスがありますが、これらの派生物に回帰がないことをテストしたいと思います。A
その基本クラスとその派生クラスA1
をA2
、 などと呼びましょう。
unittest2.TestCase
の各派生物に対してオーバーロードできる基本クラスを作成したいと思いますA
。つまり、次のような階層が必要です。
class A:
pass
class A1(A):
pass
class UT(unittest2.TestCase):
target = A
class UT2(UT):
target = A1
ここでの秘訣は、私がA
抽象クラスにしていることであり、 などUT
に適切に合格するほぼすべてのテストケースで失敗します.UT2
私にとって最も簡単な解決策は、 unittest2 をdiscover
何らかの形で「スキップ」することUT
です。これは、一致するパターン「test*.py」以外のファイルに入れることで可能になると思いますが、そうではないようです。
上記のシナリオに対する適切な解決策はありますか?
どんな考えや提案にも感謝します。