zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    VC++技术内幕(三)
    DataTable的Select方法
    <转载>电话号码正则表达式
    <转载>运行命令(CMD)大全
    各种CSS bug与技巧
    网页设计标准尺寸
    CSS实用技巧及常见问题
    超级实用且不花哨的js代码
    广告JS代码效果大全
    js小技巧收集
  • 原文地址:https://www.cnblogs.com/xiehuangzhijia/p/15113434.html
Copyright © 2011-2022 走看看