0

これは次の拡張です: Python での Unit Testing Interfaces

私の問題は、インターフェイスを満たすクラスの数が最終的に数千になることです。さまざまな開発者がさまざまなサブクラスに取り組んでいます。

あるサブクラスの単体テストが失敗して、他のサブクラスのテストが失敗することはありません。基本的に、インターフェイスを満たすサブクラスごとに新しい unittest.TestCase タイプを作成する必要があります。

テスト モジュールを変更せずにこれを実行できると便利です。(インターフェイスを満たす新しいサブクラスが追加されるたびに単体テスト モジュールを更新するのは避けたい)。

インターフェイスを満たすクラスに対して、 unittest.TestCase クラス型を自動的に作成できるようにしたいと考えています。これは、メタ クラスを使用して行うことができます。

ただし、これらのクラスは、テストのためにテスト モジュールに追加する必要があります。テスト モジュールを変更せずに、クラス定義中にこれを行うことはできますか?

4

1 に答える 1

0

別々のサブクラスを作成している場合は、インターフェイスの実装の成功に加えて、テストする必要があるサブクラス間に違いがある必要があります。インターフェイスをテストするというメソッドを作成し、satisfies_the_thousand_class_interfaceそれをカスタムTestCaseクラスに追加してから、1000個のテストケース(サブクラスごとに1つ)のそれぞれに、実行するすべての特殊なテストに加えて、そのメソッドを呼び出させます。

于 2012-07-01T19:00:03.473 に答える