Doctest easy to use introduction
multiply(1,2)
12
will report an error
import doctest
def multiply(v1,v2):
'''
>>> multiply(3,4)
12
>>> multiply(1,2)
12
'''
return v1 * v2;
def main():
# 生成详细的输出
doctest.testmod(verbose=True);
if __name__ == '__main__':
main();
unittest
from src.math import Math
import unittest
# 继承TestCase父类
class TestMath(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("综合测试开始");
@classmethod
def tearDownClass(cls):
print("综合测试结束");
def setUp(self):
print("测试开始 {}".format(self.id()));
def tearDown(self):
print("测试结束 {}".format(self.id()));
def test_add(self):
self.assertEqual(Math().add(1,2),3);
@unittest.skip("忽略测试")
def test_sub(self):
self.assertEqual(Math().sub(2, 1), 1);
Run all the test classes, this is still very practical
import os
import unittest
class RunAllTest(unittest.TestCase):
def test_run(self):
# 获取程序的目录
case_path = os.getcwd();
# 匹配所有以"test*"命名的测试文件;
discover = unittest.defaultTestLoader.discover(case_path,pattern="test*.py");
# 级别定义:简单0,普通1,详细2
runner = unittest.TextTestRunner(verbosity=2);
runner.run(discover);
if __name__ == '__main__':
unittest.main();