jupyter笔记本测试框架
treon的Python项目详细描述
treon
简单易用的测试框架的jupyter笔记本电脑。
你为什么要用它?
- 开始测试笔记本电脑,无需编写一行代码
- 用于快速测试一组笔记本电脑的多线程执行
- 在新内核中执行每个笔记本以避免内核状态干扰
- 主要是一种命令行工具,可在任何连续集成(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询问任何问题。