python的两个单元测试包分别是 doctest 和 unittest,这两个包的使用起来各有长处,适用于不同的场景
先写一个待测试的方法
def add(num1, num2): return num1 + num2
def add(num1, num2): """ 直接写在待测方法中 >>> add(14, 5) 19 >>> add(14, 5) > 1 True >>> add(20, 30, 70) Traceback (most recent call last): ... TypeError: add() takes 2 positional arguments but 3 were given """ return num1 + num2 if __name__ == "__main__": import doctest doctest.testmod()
运行上面的代码什么都不会输出,因为预测结果全部正确,只有在预测结果错误的时候才会给提示
ps:
import unittest # 引入上面的待测试方法 from src.main.add import add class TestStatisticalFunctions(unittest.TestCase): def test_add(self): self.assertEqual(add(14, 5), 19) # 断言 add(14, 5) 的结果为 19 self.assertTrue(add(14, 5) > 1, True) # 断言 add(14, 5) > 1 的结果为 True with self.assertRaises(TypeError): # 断言 add(20, 30, 70) 抛出 TypeError 异常 add(20, 30, 70) if __name__ == '__main__': unittest.main()
同样,运行上面的代码什么都不会输出,因为预测结果全部正确,只有在预测结果错误的时候才会给提示
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理