次のように、unittest2onを使用して で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」以外のファイルに入れることで可能になると思いますが、そうではないようです。
上記のシナリオに対する適切な解決策はありますか?
どんな考えや提案にも感謝します。