unittest断言方法的介绍

Posted yangsun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest断言方法的介绍相关的知识,希望对你有一定的参考价值。

断言如同在测试用例上,类似于预期结果与实际结果是否一致,如果一致则表示测试通过,Assert断言很好的用于测试结果判断上,更灵活的对预期结果和实际结果进行对比,下面简单的介绍一下unittest的Assert断言
unittest中基础的assert断言包括:

方法 用法 说明
assertEqual(a,?b) a?==?b 用来判断a与b相等,如果相等则测试通过
assertNotEqual(a,?b) a?!=?b 用来判断a与b不相等,如果不相等则测试通过
assertTrue(x) bool(x)?is?True 用来判断条件是否为真,如果条件为真,测试通过(备注:最好使用assertEqual断言方法,代替)
assertFalse(x) bool(x)?is?False 用来判断条件是否为假,如果条件为假,测试通过(备注:最好使用assertNotEqual断言方法,代替)
assertIs(a,?b) a?is?b 用来判断a和b是不是同一个对象,如果是,测试通过
assertIsNot(a,?b) a?is?not?b 用来判断a和b是不是同一个对象,如果不是,测试通过
assertIsNone(x) x?is?None 用来判断a是否空,如果为空,测试通过
assertIsNotNone(x) x?is?not?None 用来判断a是否空,如果不为空,测试通过
assertIn(a,?b) a?in?b 用来判断a字符串是否出现在b字符中,如果出现,测试通过
assertNotIn(a,?b) a?not?in?b 用来判断a字符串是否出现在b字符中,如果不出现,测试通过
assertIsInstance(a,?b) isinstance(a,?b) 用来判断a是否属于某一个数据类型,如果属于,测试通过
assertNotIsInstance(a,?b) not?isinstance(a,?b) 用来判断a是否属于某一个数据类型,如果不属于,测试通过
# -*- coding:utf-8 -*-
import unittest
class MyAssertTest(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        pass

    def setUp(self):
        pass

    def tearDown(self):
        pass
    @classmethod
    def tearDownClass(self):
        pass


    def test_assertNotEqual(self):
        a = 1
        b = 2
        self.assertNotEqual(a,b,msg="测试不通过,a是等于b的") #a不等于b是,测试通过

    def test_assertTrue(self):
        bool=True
        self.assertTrue(bool,msg="测试不通过,bool值为假")

    def test_assertFalse(self):
        bool=False
        self.assertFalse(bool,msg="测试不通过,bool值为真")

    def test_assertIs(self):
        a = [1]
        b = a
        self.assertIs(a,b,msg="测试不通过,a和b不是同一个obj")

    def test_assertNotIs(self):
        a = [1]
        b = [1]
        self.assertIsNot(a,b,msg="测试不通过,a和b是同一个obj")

    def test_assertIsNone(self):
        a = None
        self.assertIsNone(a,msg="测试不通过,a变量不为空")
    def test_assertIsNotNone(self):
        a = 1
        self.assertIsNotNone(a,msg="测试不通过,a变量为空")

    def test_assertIn(self):
        a = "Hello"
        str = 'Hello World'
        self.assertIn(a,str,msg="测试不通过,%s字符串不在%s中"%(a,str))

    def test_assertNotIn(self):
        a = "hello"
        str = 'Hello World'
        self.assertNotIn(a,str,msg="测试不通过,%s字符串在%s中"%(a,str))

    def test_assertIsInstance(self):
        a = 1
        self.assertIsInstance(a,str,msg="测试不通过,%s不是%s类型,%s是%s类型"%(a,str,a,type(a)))
        

    def test_assertIsNotInstance(self):
        a = 1
        self.assertNotIsInstance(a,str,msg="测试不通过")

以上是关于unittest断言方法的介绍的主要内容,如果未能解决你的问题,请参考以下文章

Selenium2+python自动化56-unittest之断言(assert)

Selenium2+python自动化56-unittest之断言(assert)

Selenium2+python自动化56-unittest之断言(assert)转载

Python+unittest+request断言方法封装

unittest 8 断言异常(assertRaises)

unittest详解 断言