テスト中に、テストケースにリロードコマンドを追加して、すべてを手動でリロードしなくても、いくつかの異なる場所でコードを変更できるようにしました。リロードがテストの結果に影響を与えているように見えることに気付きました。
これが私がしたことです:
import mymodule
import mymodule.rules as rules
def testcase():
reload(mymodule)
reload(rules)
# The rest of the test case
このように、または両方のリロードがコメントアウトされている場合はすべて正常に機能しますが、2回目のリロードをコメントアウトすると、テストの結果が異なります。モジュールがリロードされた後、モジュールからすべてのスクリプトをリロードする必要があることに気付いていないリロードプロセス中に発生する何かがありますか?他に説明はありますか?
これが適切かどうかはわかりませんが、ルールはパッケージ内の別のスクリプトであり、次の行が含まれています。
from mymodule import Rule