6.测试库优化

测试库优化

创建已经存在的一个部门的数据环境--需求部

import pytest

@pytest.fixture(scope='session')
def init_organiz(empty_organization):

    org=org_api.add(name='需求部')
    yield org
    org_api.delete(org['_id'])

在当前环境下创建测试用例模块--test_organizations.py

def test_tc_000002(empty_organization,init_organiz):
    org_api=empty_organization
    #创建一个研发部
    org=org_api.add(name='研发部')
    #列出所有
    orgs=org_api.list_all()
    #断言
    assert org in orgs

测试完成需要做用例的清除操作,需要对用例进行改进

import pytest
#init_organiz只为了构造一个数据环境,没有利用返回值,放在函数参数里面就行
@pytest.fixture()
def before_tc_000002(empty_organization,init_organiz):
    org_api =empty_organization
    yield org_api
    org_api.delete(org['_id'])
    

def test_tc_000002(before_tc_000002):
    global org
    org_api=before_tc_000002
    #创建一个研发部
    org=org_api.add(name='研发部')
    #列出所有
    orgs=org_api.list_all()
    #断言
    assert org in orgs

如果不需要用到返回值,可以把fixture设置为autouse=True
@pytest.fixture(scope='session',autouse=True)
def init_organiz(empty_organization):

@pytest.fixture()
def before_tc_000002(empty_organization):

测试修改功能

当前公司已经有分部--test_organizations.py

#测试修改功能--已经有分部--id存在
@pytest.fixture()
def before_tc_000051(empty_organization):
    org_api=empty_organization
    org1=org_api.add(name='产品部')
    yield org1,org_api
    org_api.delete(org1['_id'])


def test_tc_000051(before_tc_000051):
    org1,org_api=before_tc_000051
    #修改,修改成功没有返回值,修改前后id没有变化
    org_api.edit(org1['_id'],name='测试部')
    orgs=org_api.list_all()
    for org in orgs:
        if org['_id']==org1['_id']:
            assert org['name']=='测试部'
            break


#测试修改功能--已经有分部--id不存在
def test_tc_000052(empty_organization):
    org_api = empty_organization
    before_orgs=org_api.list_all()
    org_api.edit('66666',name='大数据部')
    after_orgs=org_api.list_all()
    assert before_orgs==after_orgs

测试删除功能

当前公司没有分部--test_organizapi.py

@pytest.fixture()
def before_tc000091(empty_organization):
    org_api = empty_organization
    org=org_api.add(name='采购部')
    yield org,org_api

#测试删除用例--没有分部--id存在
def test_tc000091(before_tc000091):
    org,org_api=before_tc000091
    org_api.delete(org['_id'])
    orgs=org_api.list_all()[1:]#排除总公司
    assert orgs==[] #返回结果公司分部列表为空

当前公司已经有分部--test_organizations.py

#测试删除功能--已经有分部--id不存在
def test_tc_000092(empty_organization):
    org_api = empty_organization
    before_orgs=org_api.list_all()
    org_api.delete('666')
    after_orgs=org_api.list_all()
    assert before_orgs==after_orgs
原文地址:https://www.cnblogs.com/xiehuangzhijia/p/15113434.html