0

モジュール(mod1)にいくつかの関数があります。それらに対していくつかの単体テスト(特にノーズテスト)を実行したいと思います。私が見た unittest/nosetests の使用に関する紹介のほとんどは、 を使用してテストするコードをインポートするだけのようですfrom mod1 import func1。ただし、私が収集したものから、mod1 によってインポートされたモジュール (mod2) からコードをインポートすることは避けたいので、mod1 でコードを直接テストするだけです。代わりに、mod1 がインポートした mod2 の関数をモックする必要があります。私は愚かでfrom mod1 import func1、mod2 からコードをインポートしないのでしょうか? または、mod2 からコードをインポートしないように func1 をインポートする他の方法はありますか? どうもありがとう!

4

1 に答える 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 に答える