unittest框架的TestCase类提供以下方法用于测试结果的判断

方法 检查 版本
assertEqual(a, b) a ==b  
assertNotEqual(a, b) a !=b  
assertTrue(x) bool(x) is True  
assertFalse(x) Bool(x) is False  
assertIs(a, b) a is b 3.1
assertIsNot(a, b) a is not b 3.1
assertIsNone(x) x is None 3.1
assertIsNotNone(x) x is not None 3.1
assertIn(a, b) a in b 3.1
assertNotIn(a, b) a not in b 3.1
assertIsInstance(a, b) isinstance(a,b) 3.1
assertNotIsInstance(a, b) not isinstance(a,b) 3.1

-assertEqual(first,second,msg=None)

断言第一个参数和第二个参数是否相等,如果不相等则测试失败

-assertNotEqual(first,second,msg=None)

assertNotEqueal()和assertEqual()相反,它用于第一个参数与第二个参数是否不相等,如果相等则测试失败

-assertTrue(expr,msg=None)

-assertFalse(expr,msg=None)

测试表达式是true(或false)

-assertIn(first,second,msg=None)

-assertNotIn(first,second,msg=None)

判断第一个参数是否在第二个参数中,反过来讲,第二个参数是否包含第一个参数

-assertIs(first,second,msg=None)

-assertIsNot(first,second,msg=None)

断言第一个参数和第二个参数是否为同一个对象

-assertIsNone(first,second,msg=None)

-assertIsNotNone(first,second,msg=None)

断言表达式是否为None对象

-assertIsInstance(first,second,msg=None)

-assertIsNotInstance(first,second,msg=None)

断言obj是否为cls的一个实例


unittest案例:

calculate.py:

class Math:
def __init__(self,a,b):
self.a = int(a)
self.b = int(b) def add(self):
return self.a + self.b

test_Math.py:

from calculator import Math
import unittest class TestMath(unittest.TestCase): def setUp(self):
print("test start") def test_add(self):
j = Math(5,10)
self.assertEquals(j.add(),15)
# self.assertEquals(j.add(),12) def test_add1(self):
j = Math(55,100)
self.assertNotEqual(j.add(),145) def test_add2(self):
j = Math(5,10)
self.assertTrue(j.add() > 10) def assertIs_test(self):
self.assertIs("abc","abc")
# self.assertIs("ab","abc") def assertIn_test(self):
self.assertIn("python","hello python")
# self.assertIn("abc","hello python") def tearDown(self):
print("test end") if __name__ == '__main__':
# unittest.main()
# 构造测试集
suit = unittest.TestSuite()
suit.addTest(TestMath("test_case"))
# 执行测试
runner = unittest.TextTestRunner()
runner.run(suit)

unittest断言方法的使用的更多相关文章

  1. (三)unittest断言方法的介绍

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

  2. unittest常用的断言方法

    unittest常用的断言方法 #msg:判断不成立时需要反馈的字符串 assertEqual(self, first, second, msg=None) --判断两个参数相等:first == s ...

  3. 测试教程网.unittest教程.7. 各种断言方法

    From: http://www.testclass.net/pyunit/assert/ 背景 unittest支持各种断言方法. 断言列表 官方文档 方法 检查点 assertEqual(a, b ...

  4. unittest 单元测试框架断言方法

    unittest单元测试框架的TestCase类下,测试结果断言方法:Assertion methods 方法 检查 版本 assertEqual(a, b)  a == b assertNotEqu ...

  5. Selenium实战(四)——unittest单元测试2(断言方法+discover()多测试用例的执行)

    一.断言方法 方法 检查 版本 assertEqual(a,b) a==b   assertNotEqual(a,b) a!=b   assertTrue(x) bool(x) is True   a ...

  6. unittest框架里的常用断言方法:用于检查数据

    1.unittest框架里的常用断言方法:用于检查数据. (1)assertEqual(x,y) 检查两个参数类型相同并且值相等.(2)assertTrue(x) 检查唯一的参数值等于True(3)a ...

  7. python接口自动化(二十三)--unittest断言——上(详解)

    简介 在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用 unittest 组件测试用例的时 ...

  8. 自动化测试神器 之 python unittest 断言

    自动化测试的最后一步需要判断结果是否正确,而正确设置断言可以帮助判断测试用例的执行结果,从而提高自动化测试的效率,python unittest  提供了一个比较完整的断言方法.unittest框架测 ...

  9. Selenium 2自动化测试实战28(断言方法)

    一.断言方法 执行用例的过程中,最终用例是否执行通过,是通过判断测试得到的实例结果与预期结果是否相等决定的.unittest框架的TestCase类提供下面这些方法用于测试结果的判断. -assert ...

随机推荐

  1. 原生ajax提交php后台接收不到问题

    var xmlHttp; if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); ...

  2. 一步步实现自己的ORM(三)

    章节列表: <一步步实现自己的ORM(一)> <一步步实现自己的ORM(二)> 通过前面两篇文章,我们大致了解了ORM的基本原理,是通过Attribute+反射获取表的基本信息 ...

  3. Spring源码:Spring IoC容器加载过程(2)

    Spring源码版本:4.3.23.RELEASE 一.加载XML配置 通过XML配置创建Spring,创建入口是使用org.springframework.context.support.Class ...

  4. Fedora如何添加第三方软件源?

    安装RPM Fusion源 和 安装FZUG源 http://jingyan.baidu.com/article/656db918f9300ae380249c56.html

  5. Objective-C Data Encapsulation

    All Objective-C programs are composed of the following two fundamental elements: Program statements ...

  6. Spark中Java函数的使用方法笔记

    1: map 函数map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD. 任何原RDD中的元素在新RDD中都有且只有一个元素与之对应. 2: mapPartitions函数</p ...

  7. 如何修改IOS的默认字体

    The first is workaround wich is iterating over all the labels in your UIView and change the labels f ...

  8. OpenCascade: 获取边的端点

    FirstV = TopExp::FirstVertex(aEdge1); LastV = TopExp::LastVertex(aEdge1);

  9. Mac上安装Node和NPM【转】

    http://www.jianshu.com/p/20ea93641bda 作为前端开发者,node和npm安装必不可少.然而有时会因为安装新的app(如MacPorts,慎装,它会修改基本环境变量以 ...

  10. 多线程threadvar 变量设定

    Delphi管理多线程之线程局部存储:threadvar 尽管多线程能够解决许多问题,但是同时它又给我们带来了很多的问题.其中主要的问题就是:对全局变量或句柄这样的全局资源如何访问?另外,当必须确保一 ...