• (三)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="测试不通过")
    
  • 相关阅读:
    一条Sql的Spark之旅
    Redis学习笔记:Redis在C#中的使用
    MySQL_表操作
    git上传新项目到coding
    Jenkins 安装 on centos7
    day 36
    表单生成器(Form Builder)之表单数据存储结构mongodb篇
    ORA-16032和ORA-07286 LOG_ARCHIVE_DEST_1没生效
    SQL查询小案例
    mysql从5.6升级到5.7后出现 Expression #1 of ORDER BY clause is not in SELECT list,this is incompatible with DISTINCT
  • 原文地址:https://www.cnblogs.com/yangsun/p/11921907.html
Copyright © 2020-2023  润新知