0
我會盡量讓自己清楚。我一直在練習單元測試,現在我正試圖弄清楚如何測試下面的代碼。帶範圍功能的單元測試
def main():
for i in range(100):
print("Argh!")
所以我只是想測試100次「唉!」的迭代。確保stdout通過測試。我甚至不知道如何開始單元測試。在這一個,雖然看起來很簡單。
謝謝大家提前。
我會盡量讓自己清楚。我一直在練習單元測試,現在我正試圖弄清楚如何測試下面的代碼。帶範圍功能的單元測試
def main():
for i in range(100):
print("Argh!")
所以我只是想測試100次「唉!」的迭代。確保stdout通過測試。我甚至不知道如何開始單元測試。在這一個,雖然看起來很簡單。
謝謝大家提前。
假設你使用python3,這成爲容易使用模擬...
import unittest
import mock # possibly "from unittest import mock" depending on version.
import main_module
class TestMain(unittest.TestCase):
def test_main(self):
with mock.patch.object(main_module, 'print') as mock_print:
mock_module.main()
expected_calls = [mock.call('Argh!') for _ in range(100)]
mock_print.assert_has_calls(expected_calls)
if __name__ == '__main__':
unittest.main()
不錯!你介意添加單元測試課的其餘部分嗎? – SalceCodec 2014-09-04 22:07:30
python2還是python3? – mgilson 2014-09-04 22:04:31