The Notebook validation tool nbval allows to load and execute Python code from a Jupyter notebook file. While computing outputs from the cells in the notebook, these outputs are compared with the outputs saved in the notebook file, treating each cell as a test. Deviations are reported as test failures, with various configuration options available to control the behaviour. Application use cases include the validation of notebook-based documentation, tutorials and textbooks, as well as the use of notebooks as additional unit, integration and system tests for the libraries that are used in the notebook. Nbval is implemented as a plugin for the pytest testing software.
Cite
@article{arxiv.2001.04808,
title = {Testing with Jupyter notebooks: NoteBook VALidation (nbval) plug-in for pytest},
author = {Hans Fangohr and Vidar Fauske and Thomas Kluyver and Maximilian Albert and Oliver Laslett and David Cortés-Ortuño and Marijan Beg and Min Ragan-Kelly},
journal= {arXiv preprint arXiv:2001.04808},
year = {2020}
}