跳转到主要内容

一个用于IPython笔记本的nose插件

项目描述

Build Status PyPI BSD

一个用于找到和运行IPython 2/3笔记本作为nose测试的nose插件。

setuptearDown方面,它不能做的是,nosebook在简单性上有所弥补:没有%%nose魔法,没有所需的元数据:磁盘上的笔记本是“黄金版”。

这使得它非常适合通过将一组笔记本同时作为丰富的多格式文档和测试套件的一部分,来减少保持文档与测试同步的负担。

它是如何工作的?

根据`nosebook-match <#nosebook-match>`__找到的每个笔记本都将使用一个新的内核启动,该内核基于笔记本中指定的内核。如果内核未安装,则不会运行测试,并将记录错误。

每个匹配`nosebook-match-cell <#nosebook-match-cell>`__的code单元将按照其在笔记本中出现的顺序针对内核执行:其他单元(例如,markdownraw)将被忽略。

输出数量和内容必须完全匹配,以下每个输出的部分将被移除:

  • 执行/提示数字,即 [1]:

  • 跟踪回溯

非确定性输出,例如包含实例内存位置的 _repr_ 方法,将明显不会每次都匹配。您可以使用 `nosebook-scrub <#nosebook-scrub>`__ 来重写或删除有问题的内容。

配置 nosetests 以使用 nosebook

这些选项可以指定在您的 nose 配置文件 中,或作为长格式命令行参数,即 --with-nosebook

with-nosebook

nosetests 将寻找看起来像测试的笔记本,如通过 `nosebook-match <#nosebook-match>`__ 配置。

默认值:False

# Basic usage
!nosetests --with-nosebook

nosebook-match

一个正则表达式,告诉 nosebook 哪些应该是可以测试的笔记本。

默认值:``.*[Tt]est..ipynb$``*

# Run against all notebooks... probably not a good idea, but maybe a great idea
!nosetests --with-nosebook --nosebook-match .*.ipynb

nosebook-match-cell

一个正则表达式,将在预期输出和生成输出中替换。

默认值:None

# will run cells where tests are defined... but you should probably run them, too
!nosetests --with-nosebook --nosebook-match .*Simple.* --nosebook-match-cell '(def|class).*[Tt]est'

nosebook-scrub

一个正则表达式,将在预期输出和生成输出中替换。

默认值:None

# you can't fail if you don't try
!nosetests --with-nosebook --nosebook-scrub .+

对于多个清洗值,您可以传递一个以 JSON 格式化的正则表达式列表或模式-替换对的对象,这将进行替换。当通过命令行传递时,您将不得不转义特殊字符:使用 .noserc 配置文件会使这更容易。

# there are only 10 kinds of tests...
!nosetests --with-nosebook --nosebook-scrub='["0", "1"]'
# 0 is equally good
!nosetests --with-nosebook --nosebook-scrub='{"\\d+": "0"}'

贡献

问题pull requests 欢迎加入!

许可证

nosebookBSD 3-Clause 许可证 下作为免费软件发布。

项目详情


下载文件

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

源分发

nosebook-0.4.0.tar.gz (9.4 kB 查看哈希值)

上传时间

构建分发

nosebook-0.4.0-py2.py3-none-any.whl (9.0 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者