2011-08-07 19 views
3

私は通常クラスごとにユニットテストをしていますが、これは問題ありません。しかし、私は他の言語、メタクラスやインナークラスでこれまでに遭遇していない問題にヒットしました。ユニットテストのメタクラスとPythonの内部クラス

私はクラスに内部クラスを持ち、メタクラスも持っていますが、この状況でユニットテストを構成するにはどうすればよいでしょうか?

いずれの場合も、3つのテストモジュールをすべて1つのテストモジュールでテストすることができます。しかし、これは私にとっては間違っているようです。しかし、私はそれ自身でメタクラスをどのようにテストするのでしょうか、そのメタクラスを使用するテスト内にダミーのクラスを作成しますか?

あなたのご意見はお待ちください!

答えて

3

クラスをインスタンス化してテストします。あなたが言及した "ダミークラス"は、メタクラスのインスタンスになるので、それはあなたがそれをテストする方法です。

内部クラス/外部クラスをテストする場合 - はい、外部クラスのテストで内部クラスをテストすることが含まれます。内部クラスを外部クラスから独立してテストすることが理にかなっている場合、それはなぜ内部クラスですか?内部クラスは、外部クラスのスコープ内でのみ意味をなさないはずです。 の場合は、それを独立してテストします。とにかく、外部クラスの環境を模倣する必要があります。

+0

ありがとう@agf私はメインクラスから継承するユニットテストでダミークラスを作成します。これは、それを同時にテストすることができます。同時に、メタクラスと内部クラス。 –

関連する問題