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

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

 

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   3. 单元测试框架1——TestCase

 

3. 单元测试框架1——TestCase 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;

 

上一篇:第一次作业--开发环境配置介绍


下一篇:c# – 如何为BadRequest编写单元测试用例?