您的位置首页  散文随笔

燃爆了单元测试用例(单元测试用例模板和例子)

开发一个简单的计算器,用于计算两个数的加、减、乘、除,功能代码如下```Author:虫师Date:2016/12/12Describe:实现简

燃爆了单元测试用例(单元测试用例模板和例子)

 

开发一个简单的计算器,用于计算两个数的加、减、乘、除,功能代码如下``` Author:虫师 Date:2016/12/12 Describe:实现简单计算器:+、-、*、/、 ``` class Calculator(): ```实现两个数的加、减、乘、除``` def _init_(self,a,b): self.a = int(a) self.b = int(b) #加法 def add(self) return self.a+self.b #减法 def sub(self): return self.a-self.b #乘法 def mul(self): return self.a * self.b # 除法 def div(self): return self.a / self.b

使用unittest单元测试框架对Calculator类的方法进行测试在与module.py同级的目录下创建test.py测试文件import unittest from module import Calculator class ModuleTest(unittest.TestCase): def setUp(self): self.cal = Calulator(8,4) def teraDown(self): pass def test_add(self): result = self.cal.add() self.assertEqual(result,12) def test_sub(self): result = self.cal.sub() self.assertEqual(result,4) def test_mul(self): result = self.cal.mul() self.assertEqual(result,32) def test_div(self): result = self.cal.div() self.assertEqual(result,2) if _name_ == "_main_": #unittest.main() #构造测试集 suite = unittest.TestSuite() suite.addTest(ModuleTest("test_add")) suite.addTest(ModuleTest("test_add")) suite.addTest(ModuleTest("test_mul")) suite.addTest(ModuleTest("test_div")) #执行测试 runner = unittest.TextTestRunner() runner.run(suite)。

首先从感官上来看,通过unittest单元测试框架编写测试用例更加规范和整洁我们来分析一下unittest单元测试框架的用法首先,通过import导入unittest单元测试框架创建ModuleTest类继承unittest.TestCase类。

setUp()和tearDown()两个方法在单元测试框架中较为特别,它们分别在每一个测试用例的开始和结束时执行serUp()方法用于测试用例执行前的初始化工作,例如初始化变量、生成数据库测试数据、打开浏览器等。

tearDown()方法用于测试用例执行之后的善后工作,例如清楚数据库测试数据、关闭文件、关闭浏览器等unittest要求测试用例(方法)必须以“test”开头例如,test_add、test_sub等。

接下来,调用unittest.TestSuite()类的addTest()方法向测试套件中添加测试用例可以将测试套件理解为运行测试用例的集合最后,通过unittest.TestTestRunner()类的run()方法运行测试套件中的测试用例。

如果想默认运行当前测试文件中的所有测试用例,则可以直接使用unittest所提供的main()方法也就是程序中if_name_=="_main_":下面注释的第一行代码main()方法默认查找当前文件中集成unittest.TestCase的测试类;在测试类下面匹配以“test”开头的方法,并执行它们。

执行代码如下:> python3 test.py ..... ------------------------------------------------------- Ran 4 tests in 0.000s OK

从执行结果可以看到,点号“ . ”用来表示一条运行通过的用例,总共运行4条测试用例,用时0.000秒。搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186