= Path('../../tests/directives.ipynb')
_nb = test_nb(_nb, skip_flags=['notest'])
success,duration assert success
测试
并行运行 notebook 的单元测试
test_nb
test_nb (fn, skip_flags=None, force_flags=None, do_print=False, showerr=True, basepath=None)
在 fn
指定的 notebook 中执行测试,但跳过带有 skip_flags
标记的单元格
类型 | 默认值 | 详情 | |
---|---|---|---|
fn | 要测试的 notebook 文件名 | ||
skip_flags | NoneType | None | 标记要跳过单元格的标记列表 |
force_flags | NoneType | None | 标记总是运行单元格的标记列表 |
do_print | bool | False | 打印完成信息? |
showerr | bool | True | 将错误信息打印到 stderr? |
basepath | NoneType | None | 添加到 sys.path 的路径 |
test_nb
可以测试 notebook,并跳过某些标记
在该 notebook 中,标记为 notest 的单元格会引发异常,这将以 bool
类型返回
= Path('../../tests/directives.ipynb')
_nb = test_nb(_nb, showerr=False)
success,duration assert not success
有时您可能希望覆盖一个或多个 skip_flags,在这种情况下,您可以使用参数 force_flags
,它将从 skip_flags
中移除相应的标签。这很有用,因为 skip_flags
通常在 settings.ini
的 tst_flags
字段中设置,而 force_flags
通常由用户传入。
nbdev_test
nbdev_test (path:str=None, flags:str='', n_workers:int=None, timing:bool=False, do_print:bool=False, pause:float=0.01, ignore_fname:str='.notest', symlinks:bool=False, file_glob:str='*.ipynb', file_re:str=None, folder_re:str=None, skip_file_glob:str=None, skip_file_re:str='^[_.]', skip_folder_re:str='^[_.]')
并行测试与 path
匹配的 notebook,并传递 flags
类型 | 默认值 | 详情 | |
---|---|---|---|
path | str | None | 要测试的 notebook 名称或 glob 模式 |
flags | str | 空格分隔的测试标记列表,这些标记通常被忽略但在此处运行 | |
n_workers | int | None | 工作进程数 |
timing | bool | False | 计时每个 notebook,查看哪些速度慢 |
do_print | bool | False | 打印每个 notebook 的开始和结束信息 |
pause | float | 0.01 | 在 notebook 之间暂停的时间(秒),以避免竞态条件 |
ignore_fname | str | .notest | 会导致同级文件被忽略的文件名 |
symlinks | bool | False | 跟随符号链接? |
file_glob | str | *.ipynb | 只包含与 glob 模式匹配的文件 |
file_re | str | None | 只包含与正则表达式匹配的文件 |
folder_re | str | None | 只进入与正则表达式匹配的文件夹 |
skip_file_glob | str | None | 跳过与 glob 模式匹配的文件 |
skip_file_re | str | ^[_.] | 跳过与正则表达式匹配的文件 |
skip_folder_re | str | ^[_.] | 跳过与正则表达式匹配的文件夹 |
=0) nbdev_test(n_workers
Success.
您甚至可以在非 nbdev 项目中运行 nbdev_test
,例如,您可以这样测试一个单独的 notebook
nbdev_test --path ../../tests/minimal.ipynb --do_print
或者您可以测试整个目录中的 notebook,只过滤出与正则表达式匹配的那些
nbdev_test --path ../../tests --file_re '.*test.ipynb' --do_print