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)

最新文章

  1. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点
  2. 【BZOJ】3526: [Poi2014]Card
  3. 【以前弄的老东西】DLLspy超犀利后门 (源代码+程序+使用手册+二次开发文档)
  4. Python 开发与测试 Webservice(SOAP)
  5. dedecms代码研究六
  6. 分析Linux内核创建一个新进程的过程【转】
  7. VS生成事件
  8. vi 快捷键
  9. lmsw - 加载机器状态字
  10. 尚学堂 JAVA DAY11 概念总结
  11. ArcEngine保存栅格数据至rastercatalog
  12. 一些方便的bash命令
  13. [07] ServletContext上下文对象
  14. flask入门与发送邮件与QQ邮箱
  15. [LeetCode] Number of Distinct Islands II 不同岛屿的个数之二
  16. Ocelot中文文档-转换Headers
  17. Google 以 Flutter 作为原生突破口,移动端即将统一了
  18. 同一台电脑配置多个JBoss
  19. [转] kaldi中FST的可视化-以yesno为例
  20. (转载) python3: beautifulsoup的使用

热门文章

  1. hdu4419Colourful Rectangle
  2. Java编程基础-面向对象(中)
  3. VS2010每次编译都重新编译 解决方案
  4. 推荐一个yaml文件转json文件的在线工具
  5. X和面试随笔
  6. leecode 旋转数组
  7. 高精度A+B
  8. 数组、Math、JOSN总结
  9. win7上安装虚拟机并上网
  10. node mocha mochawesome报安装不成功