如何使nose插件startTest方法返回有关tes的信息

2022-12-08 14:35:57 发布


我创建了这个演示插件来看看插件是如何工作的:(只添加了startTest方法)

import logging 
import os
from nose.plugins import Plugin
import nose

log = logging.getLogger('nose.plugins.helloworld')

class HelloWorld(Plugin):
    name = 'helloworld'

    def options(self, parser, env=os.environ):
        super(HelloWorld, self).options(parser, env=env)

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

    def finalize(self, result):
        log.info('Hello pluginized world!')

    def startTest(self, test):
        print "startTest method was run"
        print test.__doc__

但是当使用这个插件运行测试时,不是得到测试的__doc__, 我得到了通用测试用例包装文档。在

^{pr2}$

我不知道如何access test property of the nose.case.test 我试图使用print nose.case.Test.__test__,但这返回一个bool值。在

有什么想法吗?在


Tags: testimportselfenv插件osloggingdefpluginspluginnosehelloworldoptionsprintstarttest
1条回答
网友
1楼 · 发布于 2022-12-08 14:35:57

我将在startTest()函数中注入import pdb; pdb.set_trace(),并在调试器中仔细查看test实例。我肯定你要找的信息就在那里,可能只是低了几层。不要忘记将-s添加到nosetests运行中,以启用与调试器的stdout交互。在

我只是做了一个基本功能测试。对于这个特殊情况,doc在test.test.test.__doc__下。试验定义为:

def test_a():
    "mydoc"
    pass

注意:不要忘记通过设置self.enable=True来实际启用插件。在

相关问题 更多 >