unittest 实际项目操作流程
unittest 实际项目操作流程
一、开会讨论要测试的需求
掌握自动化测试流程和用例---每个企业不一样就不一一介绍了。
二、和开发拿需求文档
1、接口规范文档
2、接口网址或者类似规范文档
例如:
三、手工调试自动化
用接口工具,进行手工测试:Postman等工具
四、自动化开发编写
先了解unittest框架
熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,这个招聘的需求上也是经常见到的。python里面也有单元测试框架-unittest,相当于是一个python版的junit。
python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空再继续分享。
一、unittest简介
1.先导入unittest
2.用help函数查看源码解析
3.查看描述:
Python unit testing framework, based on Erich Gamma's JUnit and Kent Beck's Smalltalk testing framework.
翻译:python的单元测试框架,是基于java的junit测试框架
二、简单用法
1.可以把上图的这段代码copy出来,单独运行,看看测试结果。
Simple usage:
import unittest
class IntegerArithmeticTestCase(unittest.TestCase):
def testAdd(self): ## test method names begin 'test*'
self.assertEqual((1 + 2), 3)
self.assertEqual(0 + 1, 1)
def testMultiply(self):
self.assertEqual((0 * 10), 0)
self.assertEqual((5 * 8), 40)
if __name__ == '__main__':
unittest.main()
2.第一行是导入unittest这个模块
3.class这一行是定义一个测试的类,并继承unittest.TestCase这个类
4.接下来是定义了两个测试case名称:testAdd和testMultiply
5.注释里面有句话很重要,这个要敲下黑板记笔记了:## test method names begin 'test*'
--翻译:测试用例的名称要以test开头
6.然后是断言assert,这里的断言方法是assertEqual-判断两个是否相等,这个断言可以是一个也可以是多个
7.if下面的这个unittest.main()是运行主函数,运行后会看到测试结果(跑了两个用例耗时0.000秒,两个用例都通过):
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
三、博客案例
1.写一个简单的case
2.判断title完全等于期望结果
3.运行通过,下面会有一个绿条显示:2 test passed
四、参考代码
# coding=utf-8
# coding=utf-8
import unittest
import requests
import time
class Test(unittest.TestCase):
def setUp(self):
self.s = requests.session()
def tearDown(self):
self.s.close()
def test_1(self):
'''获取参数'''
headers = {
}
globals()["id"] = headers
self.assertTrue(headers)
def test_2(self):
'''获取自定义搜索规则描述'''
url = "
b = globals()["id"]
print(b)
print(url)
r = requests.get(url, headers=globals()["id"])
time.sleep(2)
print(r.status_code)
print(r.text)
'''断言、返回值等于200就判断正确'''
assert
if __name__ == '__main__'
五、输出报告