4

我正在尝试使用测试结果或状态来拆除夹具,但如果不使用关键字“yield”.. 在“pytest”框架中,我无法找到代码。

import pytest
import requests

@pytest.fixture
def update_result_todb(request):
    print('In update_result_toDB')
    def _fin():
        try:
            if(testPassed):  # looking for this
                print('Result updated to DB successfully')
            else:
                print('test failed')

        except:
           print ('exception raised')

    request.addfinalizer(_fin)
    return _fin

def test_failure(update_result_todb):
    print('test_failure')
    assert 1 == 0

def test_success(update_result_todb):
    print('test_success')
    assert 0 == 0
4

1 回答 1

-1

**

import pytest
import requests
@pytest.fixture
def update_result_todb(request):
    print('In update_result_toDB')
    def _fin():
        try:
            if(request.node.rep_setup.passed):  # this works
                print('Result updated to DB successfully')
            else:
                print('test failed')
        except:
           print ('exception raised')
    request.addfinalizer(_fin)
    return _fin
def test_failure(update_result_todb):
    print('test_failure')
    assert 1 == 0
def test_success(update_result_todb):
    print('test_success')
    assert 0 == 0

**

于 2019-08-02T13:34:31.540 回答