4

我正在尝试编写一个鼻子 1x 插件。我似乎无法获得很多开火方法。

例如:

import logging
import os

from nose.plugins import Plugin

logging.basicConfig(filename='example.log',level=logging.DEBUG)

class MyPlugin(Plugin):
    name = 'My Plugin'

def options(self, parser, env=os.environ):
    logging.debug("in options")    

def configure(self, options, conf):
    super(NoseSauce, self).configure(options, conf)
    if not self.enabled:
        return

def begin(self):
    logging.debug("in begin")

def finalize(self, result):
    logging.debug("in finalize")

我在日志文件中得到的是:

DEBUG:nose.plugins.manager:DefaultPluginManager load plugin config = testconfig:TestConfig
DEBUG:root:in options
DEBUG:root:in configure

因此,这些方法似乎没有触发。例如,finalize() 没有日志。当我查看nose.tools.base 时,我看到Plugin 类只有几个成员,但“IPluginInterface”定义了所有方法,但传递的是关键字而不是真正的代码。我不清楚这一切。我认为 Python 没有接口,即使有,我也看不到任何地方都在使用这个接口。

4

0 回答 0