pytest 常见组件以及使用(其五)

tmpdir 组件 创建临时目录!
import os
def test_create_file(tmpdir):
    p = tmpdir.mkdir("sub").join("hello.txt")
    p.write("content")
    # tmpdir.listdir() == [local('/tmp/pytest-of-root/pytest-3/test_create_file0/sub')]
    assert p.read() == "content"
    assert len(tmpdir.listdir()) == 1
    assert 0
    
    
@fixture
def non_permission_upload_path(tmpdir):
    file_dir = tmpdir.mkdir('test')
    yield str(file_dir)
    file_dir.remove()


@mark.django_db
def test_upload_data_to_datasource_with_exception(
        mocker, mock_upload_request, create_datasource,
        non_permission_upload_path):
    workspace = mock_upload_request.user.workspace

    os.makedirs(os.path.join(workspace, "ai_datastore/datasource/"))
    mock1 = mocker.patch('os.chown', side_effect=IOError)
    mock2 = mocker.patch('antilles.ai_studio.datasource.datasource_mgt.' +
                         'DatasourceManager.generate_thumbnail')
    image_dir = os.path.join(create_datasource.location,
                             'origin/JPEGImages')
    dmg = DatasourceManager()
    dmg._get_original_data_dir = mocker.MagicMock(return_value=image_dir)
    obj = create_datasource
    total_num = obj.total_num
    with raises(UploadDataException):
        dmg.upload_data_to_datasource(
            mock_upload_request, obj.id)
            # 使用临时目录
    mock_upload_request.data['upload_path'] = non_permission_upload_path
View Code

 

转载于:https://www.cnblogs.com/shi-qi/articles/9922754.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值