モジュール(mod1)にいくつかの関数があります。それらに対していくつかの単体テスト(特にノーズテスト)を実行したいと思います。私が見た unittest/nosetests の使用に関する紹介のほとんどは、 を使用してテストするコードをインポートするだけのようですfrom mod1 import func1
。ただし、私が収集したものから、mod1 によってインポートされたモジュール (mod2) からコードをインポートすることは避けたいので、mod1 でコードを直接テストするだけです。代わりに、mod1 がインポートした mod2 の関数をモックする必要があります。私は愚かでfrom mod1 import func1
、mod2 からコードをインポートしないのでしょうか? または、mod2 からコードをインポートしないように func1 をインポートする他の方法はありますか? どうもありがとう!
質問する
547 次
1 に答える
1
これは、m1 が m2 と対話するよりも設計上の決定であるため、オプションがあります
1) Test mod1 with mod2
2) Mock functions in mo2d
ただし、直接インポートを回避する方法がいくつかあります。このコードを確認してください
https://github.com/django/django/blob/master/django/db/models/loading.py
https://github.com/tangentlabs/django-oscar/blob/master/oscar/core/loading.py
モジュールを少し分離するのに役立つことを願っています(本当に必要な場合)
于 2013-04-11T19:30:47.607 に答える