2

在 conftest.py 文件中定义了 pytest 夹具(名称为 rp_logger),并尝试在不同类中的方法中使用 rp_logger.info("")。收到未定义属性信息的错误。

测试文件:

@pytest.fixture
def rp_logger(request):
    # Setting up a logging.
    logging.setLoggerClass(RPLogger)
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.DEBUG)
    # Create handler for Report Portal.
    rp_handler = RPLogHandler(request.node.config.py_test_service)
    # Set INFO level for Report Portal handler.
    rp_handler.setLevel(logging.INFO)
    return logger
测试套件文件:
@pytest.mark.single
@pytest.mark.events
@pytest.mark.usefixtures("rp_logger")
class MyTest(object):
    def test_verify_events_page(self, rp_logger):
        rp_logger.info("bbbb")
错误堆栈跟踪:
def run(self, result=None):
    orig_result = result
    if result is None:
        result = self.defaultTestResult()
        startTestRun = getattr(result, 'startTestRun', None)
        if startTestRun is not None:
            startTestRun()

    self._resultForDoCleanups = result
    result.startTest(self)

    testMethod = getattr(self, self._testMethodName)
    if (getattr(self.__class__, "__unittest_skip__", False) or
        getattr(testMethod, "__unittest_skip__", False)):
        # If the class or method was skipped.
        try:
            skip_why = (getattr(self.__class__, '__unittest_skip_why__', '')
                        or getattr(testMethod, '__unittest_skip_why__', ''))
            self._addSkip(result, skip_why)
        finally:
            result.stopTest(self)
        return
    try:
        success = False
        try:
            self.setUp()
        except SkipTest as e:
            self._addSkip(result, str(e))
        except KeyboardInterrupt:
            raise
        except:
            result.addError(self, sys.exc_info())
        else:
            try:
              testMethod()

E TypeError: test_verify_events_page() 正好需要 2 个参数(1 个给定)

4

0 回答 0