有沒有什麼辦法可以用luaunit來測試本地函數。 下面是示例代碼:lua在單元測試中訪問本地函數
-- file f.lua
local function f (n)
return n*2
end
-- file unit-test.lua
require('luaunit')
require('f')
TestF = {} --class
function TestF:testF()
assertEquals(f(5), 10)
end
-- class TestF
LuaUnit:run()
當我運行
lua unit-test.lua
我:
Failed tests:
-------------
1) TestF.testF
unit-test.lua:13: attempt to call global 'f' (a nil value)
stack traceback:
[C]: in function 'xpcall'
Ran 1 tests in 0.000 seconds
FAILED (failures=1)
如果這是不可能什麼是對,最佳的解決方案?我應該將本地功能更改爲全球嗎?
東西看起來不正確的:'單位test.lua'沒有13號線和'fact'功能沒有任何地方提及。你確定你正在顯示正確的文件嗎? –
你不能看到它們被定義的範圍之外的本地函數,除非*看到它們的東西將函數傳遞給你。所以不,你不能直接這樣做。您的文件/模塊需要支持以某種方式「導出」本地功能。 –
@PaulKulchenko,謝謝,修正了這個問題。 –