python unittest

All base on unittest

Test

1
2
3
4
# run bash
python3 -m unittest (module.unit)
# or run file
unittest.main()

Collect Error

1
self.assertRaises(CellError, fn, 2, 2, 'GGfF')

mock input & print

引用

1
2
3
import sys
from io import StringIO
from unittest.mock import patch

input

1
2
with patch("sys.stdin", StringIO("3 3\nGFGGFRRGF\n")):
# some code

用with而不用decorator是因为为了可以重复调用测试用例

print

1
2
3
@patch('sys.stdout', new_callable=StringIO)
def correct_input(self, test_fn, except_output, mock_stdout):
self.assertEqual(except_output, mock_stdout)

mock_stdout会被decorator输入
直接可以获取使用

Else

1
2
3
4
5
# 编译
python3 -m compileall .
# 删除
find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf
find . -name '*.py' -type f -print -exec rm {} \;
  • 本文作者: Arius
  • 本文链接: python unittest
  • 许可协议: 除特殊声明外,本站博文均采用 CC BY-NC-SA 3.0 CN 许可协议,转载请注明出处!