有进度条和更智能的回溯的测试运行程序

nose-progressive的Python项目详细描述


功能

进度条

nose progressive表示底部静止进度条中的进度 在屏幕上。它支持多种终端类型,并对 终端的大小调整与所有的优雅它可以集合。与之不同的是 标准点拉伸测试运行程序,您始终可以看到正在运行的测试。

回溯:及时、美观、实用

像大多数测试运行者一样,nose通常会等到痛苦的结束才显示错误。 以及失败回溯,这在大型测试套件中浪费了大量时间 花很多分钟完成。我们一有回溯就显示,所以你 可以立即开始追踪它们,而且我们可以更好地格式化它们:

  • 明智地使用颜色和其他格式使回溯易于扫描。 在函数名列表中向下滑动以保持 调试时放置。

  • 省略 回溯(最近的最后一次调用) 行并使用相对 路径(可选)以及许多其他调整,在有限的 屏幕空间。

  • 以一种可以反馈给nose的格式识别失败的测试 易于重新运行:

    FAIL: kitsune.apps.wiki.tests.test_parser:TestWikiVideo.test_video_english
    

    要重新运行上述操作,请执行以下操作:

    nosetests --with-progressive kitsune.apps.wiki.tests.test_parser:TestWikiVideo.test_video_english
    
  • 测试本身的框架总是排在第一位;我们跳过任何设置框架 从测试线束等。这能让你集中精力。 而且,像unittest本身一样,我们隐藏任何下降到琐碎的帧 比较帮助程序,如 assertequals() assertraises()

    (事实上,我们比unittest做得更好。我们不只是开始躲起来 第一个单元的帧在测试后测试一个;我们只剪掉最后一个 unittest帧的连续运行。这使您可以在 来自模拟库的装饰器,它伪装成unittest,并且仍然 查看您的回溯。)

  • 编辑器快捷方式(见下文)允许您直接跳到 编辑.

编辑器快捷键

对于回溯的每一帧,nose progressive提供一个编辑器快捷方式。 这是文件系统路径和行号的组合 vi、emacs、bbedit命令行工具和许多其他 编辑:

vi +361 apps/notifications/tests.py  # test_notification_completeness

只需三次单击(或您所拥有的)来选择行,然后复制并粘贴它 在命令行上。你会在你的编辑那里遇到麻烦的 选择的。作为奖励,编辑快捷方式比股票更紧凑 回溯格式。

您可以通过设置这些编辑器中的任何一个来设置要使用的编辑器 检查顺序:

  • 命令行选项I>
  • nose_progressive_编辑器 环境变量
  • 环境变量

自定义错误类

nose progressive完全支持自定义错误类,如skip和 不赞成的我们注意到实时提升它们的测试,就像正常情况一样 错误和失败:

TODO: kitsune.apps.sumo.tests.test_readonly:ReadOnlyModeTest.test_login_error

但是,当错误类不被视为失败时,我们不会显示它 除非使用 --progressive advisories 选项,即使在这种情况下, 我们没有显示回溯(因为通常重要的信息是 测试被跳过,而不是被跳过的行)。这源于 我们优先考虑有用信息的理念。

自定义错误类与 失败和错误:

4 tests, 1 failure, 1 error, 1 skip in 0.0s
         ^^^^^^ Bold ^^^^^^

表示失败的错误类的非零计数是粗体的 眼睛和对应的粗体细节在卷轴上。只是 按粗体键,你会发现你的错误。

django支持

nose progressive可以通过django nose运行django测试。只需安装 django nose,然后像这样运行您的测试:

./manage.py test --with-progressive --logging-clear-handlers

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将向量的内容从一个包发送到另一个包?   java无法扩展类并对ArrayList进行排序   java无法对字符串的ArrayList进行排序   JavaP:ajax更改事件请求返回500错误   java如何为TableHeader使用渲染器   带有记号的java JSlider问题   Java如何在不同的类中调用add()方法   java如何使用JDBC和HSQLDB检索以前自动生成的PK ID值   java如何使dropwizard应用程序在启动完成之前忽略所有调用   使用MethodValidationPostProcessor进行java Spring验证   java Mediaplayer错误(19 0)不适用于release()   java UnsatifiedPendencyException Swigger2+Sringboot+@RestClientTest   java如何从onActivityResult更新回收器视图元素   java基于图像添加地板或如何优化已有方法   jComboBox的java奇怪行为   java从数据库表php中提取信息   Android-sqlite更新方法;JAVAlang.IllegalStateException:无法执行活动的方法   java如何将多个XSD文件合并到一个XSD文件?   java在不使用大多数API的情况下消除空格