2013-08-06 2 views
28

ユニットテスト(テスト済みのクラスに注入)で使用するために偽のヘルパークラスを作成する必要があります。そのようなクラスでTestCaseアサーションを使用する方法はありますか?Python単体テストアサーションをTestCaseの外で使用する方法はありますか?

Fakeクラスで実行されるいくつかの一般的なチェックにアサーションを使用したいと思います。あなたがunittest.TestCase()のインスタンスを作成し、その上のメソッドを呼び出すことができます

class FakeFoo(object): 

    def do_foo(self, a, b): 
    assertNotNull(a) 
    ... 
+0

リファレンス:http://stackoverflow.com/a/5142453/758446 – BlackVegetable

+3

他の方法はありませんが、TestCaseアサーションがより冗長でビルトインよりも利点が少ない場合は、ビルトインアサートが機能します。http: //stackoverflow.com/q/2958169/1031601 –

+0

あなたは正しいです。私はそのことのいくつかを視点に入れて参考にしたいと思っていました。私は解決策を提案していませんでした。 2番目のリンクをありがとう。 :) – BlackVegetable

答えて

28

、あなたはクラスの既存メソッドの名前を渡し提供:のようなもの。 __init__は、この場合に行います。

tc = unittest.TestCase('__init__') 
tc.assertIsNotNone(a) 

しかし、あなたはおそらく代わりに良いMock libraryを探しています。 mockが良い選択でしょう。

関連する問題