1、断言

1)、self.assertEqual(2,res)#期望值qian、结果值hou
2)TextTestRunner 源码 必要的参数
3)测试结果 上下文管理器
with open("test.txt",'w+',encoding='utf-8') as file:
runner= unittest.TextTestRunner(stream=file,verbosity=2)
runner.run(suite)

2、测试报告的另一种:
import unittest
import HTMLTestRunner
from GYP_test.class_01 import TestMathMethon
suite= unittest.TestSuite()#存储用例 loader = unittest.TestLoader()#加载器
suite.addTest(loader.loadTestsFromTestCase(TestMathMethon)) with open('test_report.html','wb') as file:
runner= HTMLTestRunner.HTMLTestRunner(stream=file,verbosity=2,
title='gyp测试',
description='gyp在做练习',
tester='卡卡')
runner.run(suite)

断言处理:

异常抛出

import unittest
from GYP_test.math import MathMethod #测试的目标
class TestMathMethon(unittest.TestCase):#继承了unittest里面的TestCase 专门来写用例
def test_add_two_positive(self):
res = MathMethod(1,1).add()
print('1+1的结果值是:',res)
#加一个断言:判断期望值与实际值的比对结果一直就算通过 不一致 就算失败
try:
self.assertEqual(2,res)#期望值qian、结果值hou
except AssertionError as e:
print("出错了拉%s" %e)
raise e
def test_add_two_zero(self):
res = MathMethod(0, 0).add()
print('0+0的结果值是:', res)
try:
self.assertEqual(1, res) # 期望值、结果值
except AssertionError as e:
print("出错了拉%s" %e)
raise e
def test_add_two_fushu(self):
res = MathMethod(-1, -2).add()
print('-1+-2的结果值是:',res)
try:
self.assertEqual(-3, res) # 期望值、结果值
except AssertionError as e:
print("出错了拉%s" %e)
raise e
if __name__ == '__main__':
unittest.main()

4、夹心饼干

初始化操作

    def setUp(self):
print('我要开始执行用例了')
def tearDown(self):
print('我已经执行完了')




10_30_unittest的更多相关文章

随机推荐

  1. mac-redis安装与使用

    安装: brew install redis --------------- 使用: 启动redis-server: sudo redis-server 连接:./redis-cli -h 127.0 ...

  2. Vim-latex 插件 的安装

    ref:https://www.jianshu.com/p/ddd825064062 Vim-latex 插件 1. 安装 Vim-latex 插件是一个强大的Latex插件, 它的安装方法是: 将下 ...

  3. MyISAM与InnoDB的区别是什么?

    1. 存储结构 MyISAM:每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩展名为.MYD (MYData).索引文件 ...

  4. 2018-2019-2 《Java程序设计》第8周学习总结

    20175319 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 本周学习<Java程序设计>第十五章: 泛型: 泛型(Generics)的主要目 ...

  5. python的多线程

    1.多线程的例子 import threading #首先导入threading模块,这是使用多线程的前提 from time import ctime,sleep def music(func): ...

  6. C#代码使用Process类调用SWFTools工具

    一.Process类调用SWFTools工具将PDF文档转为swf文档 1 string cmdStr = "D:\\SWFTools\\pdf2swf.exe"; string ...

  7. robotframework环境安装

    1.安装 robotframework 执行命令 pip install robotframework 2.安装seleniumlibrary 执行命令 pip install --upgrade r ...

  8. 基于Python的Webservice开发(二)-如何用Spyne开发Webservice

    一.功能需求 本次案例是开发一个Item的新建的WebService.IN&OUT的类型JsonDocument. 通过传入相关的参数创建Item,且相关的参数可以被缺省. 二.实现代码 引入 ...

  9. AttributeError: 'module' object has no attribute 'enableTrace'

    Traceback (most recent call last): File "Long-lived-connection.py", line 29, in <module ...

  10. linux下动态链接库(.so)的显式调用和隐式调用

    进入主题前,先看看两点预备知识. 一.显式调用和隐式调用的区别 我们知道,动态库相比静态库的区别是:静态库是编译时就加载到可执行文件中的,而动态库是在程序运行时完成加载的,所以使用动态库的程序的体积要 ...