2017-08-27 8 views
0

Ruby/Rspecの世界では、静的メソッドをテストするためにtests/expects()ステートメントを模擬してセットアップするのが非常に簡単です。Python/Djangoで多くの静的メソッドをモックする簡単な方法はありますか?

Pythonで同じことをテストする簡単な方法があるのだろうかと思っていました。

def create_models(pr_dict): 
    facility = FacilityCreator.doit(pr_dict) 

    p = PCreator.doit(facility, pr_dict) 

    pr = PRCreator.doit(p, p.recent, pr_dict) 

    models_affected = {'f': f, 
         'pr': pr,} 

    return models_affected 

私はユニットテストとunittest.mock見てきましたが、場合雄弁な解決策ではないようです:コードは実際に(私はそれに多くの名前を変更した)私は、次のコードを持ってやっていることを無視してください私は自分のメソッドに多くの静的メソッドを持っています。つまり、@patchなどの中で@patchを実行することになります。

答えて

1

Python unittest moduleをご覧ください。それはモックとパッチモジュールを持っています

+0

ありがとうございました。それをやったことがありますが、モックでも見ました。私の「静的メソッド」の質問にはっきりと答えていません。 – Kamilski81

+0

模擬したいメソッドを持つ "Mockクラス"を作成し、クラス全体をパッチしてネストされたパッチの宣言を避けることができます – doze

関連する問題