我正在尝试编写一个鼻子 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 没有接口,即使有,我也看不到任何地方都在使用这个接口。