python+selenium+unittest测试框架1-unittest单元测试框架和断言

 unittest单元测试框架和断言

一、unittest单元测试框架简介

1、导入unittest模块

import unittest

2、定义测试类

class Login(unittest.TestCase):

3、前置条件

    def setUp(self):
        u'''没有前置条件可以写pass'''
        pass

4、测试case加断言

    def test01(self): #测试用例必须以test开头
        print("执行测试用例01")
        result = '1'
        self.assertTrue(result) #断言result是不是True

5、后置条件

    def tearDown(self):
        u'''没有后置条件可以写pass'''
        pass

6、运行主函数

if __name__ == '__main__':
    unittest.main()

示例:

复制代码
#导入unittest模块
import unittest

class Login(unittest.TestCase):
    def setUp(self):
        u'''没有前置条件可以写pass'''
        pass
    def test01(self): #测试用例必须以test开头
        print("执行测试用例01")
        result = '1'
        self.assertTrue(result) #断言result是不是True
    def tearDown(self):
        u'''没有后置条件可以写pass'''
        pass
if __name__ == '__main__':
    unittest.main()
复制代码

二、断言

unittest常用的断言方法

1、assertEqual(self, first, second,msg=None)

    def test02(self):#判断两个参数是否相等
        print("执行测试用例02")
        result1 = '1'
        result2 = '2'
        self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2))

2、assertNotEqual(self, first, second,msg=None)

    def test03(self):#判断两个参数是否不相等
        print("执行测试用例03")
        result1 = '1'
        result2 = '2'
        self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2))

3、assertIn(self, member, container,msg=None)

    def test04(self):#判断一个参数是否包含另一个参数
        print("执行测试用例04")
        result1 = '1'
        result2 = '21'
        self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))

4、assertNotIn(self, member,container, msg=None)

    def test05(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例05")
        result1 = '1'
        result2 = '2'
        self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))

5、assertTrue(self, expr, msg=None)

    def test06(self): #测试一个参数是否为真
        print("执行测试用例06")
        result = ''
        self.assertTrue(result,msg="%s不是True"%result) 

6、assertFalse(self, expr, msg=None)

    def test07(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例07")
        result = ''
        self.assertFalse(result,msg="%s不是False"%(result))

7、assertIsNone(self, obj, msg=None)

    def test08(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例08")
        result = None
        self.assertIsNone(result,msg="%s不是None"%(result))

8、assertIsNotNone(self, obj,msg=None)

    def test09(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例09")
        result = '123'
        self.assertIsNotNone(result,msg="%s是None"%(result))

示例:

复制代码
#导入unittest模块
import unittest

class Login(unittest.TestCase):
    def setUp(self):
        u'''没有前置条件可以写pass'''
        print("开始执行")
        # pass
    def test01(self): #测试用例必须以test开头
        print("执行测试用例01")
        result = '1'
        self.assertTrue(result) #断言result是不是True
    def test02(self):#判断两个参数是否相等
        print("执行测试用例02")
        result1 = '1'
        result2 = '1'
        self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2))
    def test03(self):#判断两个参数是否不相等
        print("执行测试用例03")
        result1 = '1'
        result2 = '2'
        self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2))
    def test04(self):#判断一个参数是否包含另一个参数
        print("执行测试用例04")
        result1 = '1'
        result2 = '21'
        self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))
    def test05(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例05")
        result1 = '1'
        result2 = '2'
        self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))
    def test06(self): #测试一个参数是否为真
        print("执行测试用例06")
        result = '1'
        self.assertTrue(result,msg="%s不是True"%result)
    def test07(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例07")
        result = ''
        self.assertFalse(result,msg="%s不是False"%(result))
    def test08(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例08")
        result = None
        self.assertIsNone(result,msg="%s不是None"%(result))
    def test09(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例09")
        result = '123'
        self.assertIsNotNone(result,msg="%s是None"%(result))
    def tearDown(self):
        u'''没有后置条件可以写pass'''
        print("结束...")
        # pass
if __name__ == '__main__':
    unittest.main()
复制代码

PS:unittest的执行顺序,先执行setUp,然后执行测试用例test*(测试用例是按照名称顺序执行),最后执行tearDown。

原文地址:https://www.cnblogs.com/txx403341512/p/9353823.html