跳转到主要内容

在nose打印的跟踪中包含 __traceback_info__

项目描述

nose_traceback_info

您是否希望在由nose产生的错误或失败跟踪中包含补充(调试)信息?您是否发现nose的失败详细插件不能满足您的需求(例如,因为您使用PyHamcrest匹配器)?使用Zope,Plone,Paste或WebError开发服务器软件?那么这个插件可能是您需要的解决方案:它允许您将任何详细的信息添加到跟踪中的任何框架。将跟踪转换为这样

Traceback (most recent call last):
File "/.../nti.nose_traceback_info/src/nti/nose_traceback_info/tests/test_nose_traceback_info.py", line 39, in test_format_failure
  t, formatted, _ = self.plugin.formatFailure(None, exc_info)
File "/.../nti.nose_traceback_info/src/nti/nose_traceback_info/__init__.py", line 48, in formatFailure
  return self.formatError( test, exc_info)
File "/.../nti.nose_traceback_info/src/nti/nose_traceback_info/__init__.py", line 31, in formatError
  t, v, tb = exc_info
TypeError: 'builtin_function_or_method' object is not iterable

的跟踪

TypeError: Traceback (most recent call last):
Module unittest.case, line 331, in run
  testMethod()
Module nti.nose_traceback_info.tests.test_nose_traceback_info, line 39, in test_format_failure
  t, formatted, _ = self.plugin.formatFailure(None, exc_info)
  - __traceback_info__: ("calling plugin with test and exc_info", None, <build-in function exc_info>)
Module nti.nose_traceback_info, line 48, in formatFailure
  return self.formatError( test, exc_info)
Module nti.nose_traceback_info, line 31, in formatError
  t, v, tb = exc_info
  - __traceback_info__: ("Test and exc_info args", None, <built-in function exc_info>)
TypeError: 'builtin_function_or_method' object is not iterable

用法

一旦插件安装完成(使用 pip 或在 setup.pyrequirements.txt 文件中),默认启用,就像 logcapture. 插件通过在每个跟踪帧中查找本地变量并格式化它们(在捕获的日志和显示在失败测试中的跟踪中)来运行。变量由 Zope 开发(并记录)的惯例定义;这些惯例也由 PasteWebError 遵循,这意味着添加到帮助调试测试的信息也可以用于调试生产错误。

请参阅该文档以了解变量的详细信息。作为快速入门,最重要的最常用的变量是 __traceback_info__,您可以为它分配任意信息。《span class="docutils literal">repr》包含在跟踪中。

def formatError(self, test, exc_info):
    __traceback_info__ = "Test and exc_info args", test, exc_info
    t, v, tb = exc_info

选项

除了标准环境变量和启用插件的标志外,其他选项还控制一些行为。

--traceback-long-filenames

在格式化的跟踪中使用完整的文件名,而不是模块名。

--traceback-nologcapture

不要格式化日志中捕获的跟踪。

其他插件

此插件已知与 nose-progressive 正确合作,它也会调整跟踪。

更改

1.0.2 (2015-04-21)

  • 添加对 PyPy、Python 3.4 和 Python 3.2 的支持。

1.0.1 (2013-12-14)

  • 默认情况下,显示文件名而不是模块名。这更好地与 IDE 测试集成合作。

1.0.0 (2013-09-27)

初始发布

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

nti.nose_traceback_info-1.0.2.tar.gz (6.2 kB 查看散列)

上传时间

构建分布

nti.nose_traceback_info-1.0.2-py3.4.egg (10.9 kB 查看散列)

上传时间

nti.nose_traceback_info-1.0.2-py2.py3-none-any.whl (9.7 kB 查看散列)

上传时间 Python 2 Python 3

nti.nose_traceback_info-1.0.2-py2.7.egg (10.5 kB 查看散列)

上传时间

由以下支持