ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3. 单元测试框架1——TestCase

2019-06-08 21:48:16  阅读:336  来源: 互联网

标签:框架 unittest 单元测试 self TestCase 测试 方法 verbosity


 

1. import unittest   引入unittest模块;   2. class SearchTest (unittest.TestCase):   定义一个继承于TestCase类的子类;   3. def setUp(self):   测试执行器在每次执行测试方法之前优先执行该方法(这样做有助于确保每个测试方法都能够依赖相同的环境);   此方法没有参数,而且不返回任何值;   4. def test_search_by_category(self):   test()方法也是在TestCase类中实现,重要的一点是需要给测试方法命名为test开头;这种命名约定通知test runner哪个方法代表测试方法;   5. self.assertEqual(1,len(products))   调用assertEqual(预期值,实际值)来校验预期结果;   验证用程序搜索该术语返回的结果是否和预期结果相匹配;   6. def tearDown(self):   TestCase类会在测试执行完成之后调用tearDown()方法来清理所有的初始化值;   一旦测试被执行,在setUp()方法中定义的值将不再需要,所以最好的做法是在测试执行完成的时候清理掉由setUp()方法初始化的数值;   7.   if __name__ == '__main__':   unittest.main(verbosity=2)   为了通过命令行的运行测试,我们可以在测试用例中添加对main方法的调用。   将传递verbosity参数以便使详细的测试总量展示在控制台:     verbosity是一个选项,表示测试结果的信息复杂度,有三个值     0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功80     1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”     2 (详细模式):测试结果会显示每个测试用例的所有相关的信息     并且 你在命令行里加入不同的参数可以起到一样的效果     加入 --quiet 参数 等效于 verbosity=0     加入--verbose参数等效于 verbosity=2     什么都不加就是 verbosity=1  

 

8. 改初始化和结束初始化的方法级别的方法为类级别的方法,类级别的方法,无论类中有多少个用例,都只会共用一个浏览器;   @classmethod   def setUpClass(cls):   @classmethod   def tearDownClass(cls):   9. 方法中的self指向类的实例,有点this的意思,不加self的变量是本地变量,加了就是实例变量;   http://python.jobbole.com/81921/   http://www.cnblogs.com/bigberg/p/7252349.html   10. 测试用例执行顺序解决办法:   http://www.cnblogs.com/songzhenhua/p/9690198.html   1. 测试套件     testcase = unittest.TestLoader().loadTestsfromTestCase(测试类)     suites = unittest.TestSuite()     suites.addTest(class('testcase')   2. TestCase的名称:按照1-9,A-Z,a-z   3. 补充unittest的框架:如链接楼主的utx;

 

标签:框架,unittest,单元测试,self,TestCase,测试,方法,verbosity
来源: https://www.cnblogs.com/noobzeng/p/10991844.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有