jupyter笔记本测试框架

treon的Python项目详细描述


PyPI version

treon

简单易用的测试框架的jupyter笔记本电脑。

  • 从上到下运行笔记本并标记执行错误(如果有)
  • 运行在笔记本代码单元格中的unittest
  • 运行在笔记本代码单元格中的doctest

你为什么要用它?

  • 开始测试笔记本电脑,无需编写一行代码
  • 用于快速测试一组笔记本电脑的多线程执行
  • 在新内核中执行每个笔记本以避免内核状态干扰
  • 主要是一种命令行工具,可在任何连续集成(CI)系统中轻松使用
  • 很快就会成为ReviewNB的ci系统的一部分,每当您将笔记本更改推送到github时,该系统就会自动运行treon

安装

pip install treon

用法

$ treon
Executing treon version 0.1.0
Recursively scanning /workspace/treon/tmp/docs/site/ru/guide for Notebooks...

-----------------------------------------------------------------------
Collected following Notebooks for testing
-----------------------------------------------------------------------
/workspace/treon/tmp/docs/site/ru/guide/keras.ipynb
/workspace/treon/tmp/docs/site/ru/guide/eager.ipynb
-----------------------------------------------------------------------

Triggered test for /workspace/treon/tmp/docs/site/ru/guide/keras.ipynb
Triggered test for /workspace/treon/tmp/docs/site/ru/guide/eager.ipynb

test_sum (__main__.TestNotebook) ... 
ok
test_sum (__main__.TestNotebook2) ... 
ok
test_sum (__main__.TestNotebook3) ... 
ok

----------------------------------------------------------------------
Ran 3 tests in 0.004s

OK

-----------------------------------------------------------------------
TEST RESULT
-----------------------------------------------------------------------
/workspace/treon/tmp/docs/site/ru/guide/keras.ipynb       -- PASSED 
/workspace/treon/tmp/docs/site/ru/guide/eager.ipynb       -- PASSED 
-----------------------------------------------------------------------
2 succeeded, 0 failed, out of 2 notebooks tested.
-----------------------------------------------------------------------

命令行参数

Usage:
  treon
  treon [PATH] [--threads=<number>]

Arguments:
  PATH                File or directory path to find notebooks to test. Searches recursively for directory paths. [default: current working directory]

Options:
  --threads=<number>  Number of parallel threads. Each thread processes one notebook file at a time. [default: 10]
  -h --help           Show this screen.
  --version           Show version.

unitttest示例

您只需要添加如下所示的测试,treon将执行这些测试并在控制台上报告结果。有关如何编写unittest的详细信息,请参见this

doctest示例

您只需要添加如下所示的测试,treon将执行这些测试并在控制台上报告结果。有关如何编写doctest的详细信息,请参见this

有关依赖项的说明

  • 您需要在环境(virtualenv/pipenv等)中运行treon,该环境具有正在测试的笔记本电脑所需的所有依赖项
  • treon只适用于python3+环境,并使用python3内核执行笔记本电脑

动机

我们的目标是ReviewNB使笔记本电脑成为生产流程中的一流实体。我们为笔记本电脑建立了一个代码审查系统。下一步是build a CI pipeline&treon是这项工作的核心工具。它是授权librerally(mit)的,我预计它也将作为一个独立的工具使用。您可以在本地使用它和/或与您选择的ci系统集成。

出于动机,请查看Netflix's blog,了解笔记本电脑如何从草稿行毕业,成为生产工作流的一部分。

贡献

如果发现任何问题,请打开问题或发送请求。你可以写信给team@reviewnb.com询问任何问题。

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

推荐PyPI第三方库


热门话题
java调用方法时,将对象作为参数发送是否比原始变量慢?   如何在Java中的ApacheSpark中将DataFrame转换为Dataset?   使用ExecutorService时使用java。invokeAll是否有一种即使发生异常也可以获取所有响应的方法   javasocket超时在Servlet中不起作用   具有复合实体键的java双向OneToMany关系导致空标识符   java JPA:如何映射SQL Server uniqueidentifier类型   macos通过Mac计算机获取java硬盘序列号?   java如何将值添加到列表<Map<String,Object>>?   java如何在提交表单后将一个jsp页面中的值转换为两个不同的jsp页面?   数据库连接数与Java线程数   java将无序字符串复制到有序字符串的有效方法   java如何从Flink到Kafka编写protobuf字节数组   hashmap java中arraylist的和值   更改字体后不显示java复选框   AppEngine中的java登录   Java扫描器。nextLine()未等待输入