博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之unittest
阅读量:4052 次
发布时间:2019-05-25

本文共 1528 字,大约阅读时间需要 5 分钟。

          unittest的基本使用方法

1.import unittest

2.定义一个继承自unittest.TestCase的测试用例类
3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
4.定义测试用例,名字以test开头。
5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
6.调用unittest.main()启动测试
7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。

Unittest断言

作用:期望结果与实际结果比较,来判断该case是通过还是失败
但是不影响其他的case执行。

import unittestimport HTMLTestRunnerclass Test002(unittest.TestCase):#before run test    def setUp(self):        print 'Case Before'        pass#after run test    def tearDown(self):        print 'Case After'        pass    #test 1    def test_Case1(self):        a = 3        b = 2        self.assertEqual(a+b,6,'test_case1 is fail.')        print "test_case1 is successfule."    #test 2    def test_Case2(self):        a = 2        b = 3        self.assertEqual(a*b,6,'test_case2 is fail.')        print "test_case2 is successfule."    #test 3    def test_Case3(self):        a = 5        b = 3        self.assertEqual(a-b,2,'test_case2 is fail.')        print "test_case2 is successfule."if __name__ == '__main__':    #unittest.main()    suite=unittest.TestSuite()#define test suite    suite.addTest(Test002('test_Case1'))    suite.addTest(Test002('test_Case2'))    suite.addTest(Test002('test_Case3'))    #unittest.TextTestRunner(verbosity=2).run(suite)    outfile = open("Report.html", "w")    runner = HTMLTestRunner.HTMLTestRunner(                stream=outfile,                title='Test Report',                description='test one.'                )    runner.run(suite)

你可能感兴趣的文章
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>