Python unittest 测试输入(input)和输出(print),,Python 自带的
Python unittest 测试输入(input)和输出(print),,Python 自带的
Python 自带的 unittest 库可以用来写单元测试。
测试输入输出的解决方法是:
将标准输入输出定向到一个StringIO类(python3是 io.StringIO)。
import unittestimport ioimport sysdef stub_stdin(testcase_inst, inputs): stdin = sys.stdin def cleanup(): sys.stdin = stdin testcase_inst.addCleanup(cleanup) sys.stdin = io.StringIO(inputs)def stub_stdout(testcase_inst): stderr = sys.stderr stdout = sys.stdout def cleanup(): sys.stderr = stderr sys.stdout = stdout testcase_inst.addCleanup(cleanup) sys.stderr = io.StringIO() sys.stdout = io.StringIO()def fun(): x = int(input()) print(x+5)class UnitTest(unittest.TestCase): def test_fun(self): stub_stdin(self, '2\n4\n') # 依次输入2,4 stub_stdout(self) fun() self.assertEqual(str(sys.stdout.getvalue()), '7\n') stub_stdout(self) # 重置输出 fun() self.assertEqual(str(sys.stdout.getvalue()), '9\n')if __name__ == '__main__': unittest.main()
Python unittest 测试输入(input)和输出(print)
相关内容
- ubuntu中python3安装package,,1.实验环境Ubun
- python numpy访问行列元素的方法,,import num
- python设置pdf,,导出:选用pdf参考
- 反转整数(Python实现)很容易懂的那种,,题目:给出一
- Python中os.mkdir()与os.makedirs()的区别,,一、代码#-*-co
- python 条件语句简洁写法,,今天遇到了一种条件语
- Python Machine Learning 中文版,,Python机器学习
- Python,python,python,, 人生中第一次听
- Python,,‘‘‘‘‘‘a =
- python--初识函数,,一 . 函数 什么
评论关闭