目前我有一個模塊,當它被import編輯時for會執行一個回圈:
numbers.py
DICT_NUMBER = {
'one': One,
'two': Two,
'three': Three,
'four': Four,
'five': Five,
}
for num in DICT_NUMBER.values():
if not issubclass(num, Number):
raise Exception(f'{num} is not extending Number')
問題是我不知道如何測驗它,我嘗試執行以下代碼:
from numbers.py import DICT_NUMBER # the for is executed without raise Exception
DICT_NUMBER['A'] = A # 'A' don't extends Number
with self.assertRaises(Exception):
from numbers.py import DICT_NUMBER
這不起作用,因為DICT_NUMBER變成了未決議的參考。
有什么辦法嗎?
uj5u.com熱心網友回復:
您不能雙重匯入模塊,只能按照此處指定的方式重新加載它:如何重新加載 python 模塊。在您的情況下,模塊檔案沒有更改,因此重新加載將無濟于事。嘗試將for部件移動到帶有dict引數的函式中,然后使用不同的輸入對其進行測驗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/360177.html
