好吧,我知道這將是顯而易見的,但我不能解決如何編寫內部函數的測試。這裏有一段簡單的代碼來說明問題。python unittest - 如何引用一個可調用的函數
def high(x, y):
def low(x):
return x*2
return y*low(x)
class TestHigh(unittest.TestCase):
def test_high(self):
self.assertEqual(high(1,2),4)
def test_low(self):
self.assertEqual(low(3),6)
結果
Exception: NameError: global name 'low' is not defined
在「真實」的情況下,我希望能夠測試較低級別功能隔離,以確保所有的路徑行使,只測試時,這是很麻煩從更高的水平。
這是我的藉口。我被吸引到了WingIDE的重構中,看起來很整潔,但是如果嵌套函數不是單獨測試的話,它並沒有什麼幫助。首先將它寫在可測試的部分看起來就是這裏的教訓。非常感謝。 –