API

Module for testing a repository of Jupyter Notebooks

class testipynb.testipynb.TestNotebooks(**kwargs)[source]

Class that generates a suite of tests for a directory of notebooks.

import testipynb
Test = TestNotebooks(directory="notebooks")
assertTrue(Test.run_tests())

or if you are using pytest, you can create a file called test_notebooks.py

import testipynb
Test = testipynb.TestNotebooks(directory="notebooks")
TestNotebooks = Test.get_tests()

and from a command line, run

pytest test_notebooks.py

Required Properties:

  • directory (String): directory where the notebooks are stored, a unicode string, Default: .
  • ignore (a list of String): list of notebooks to ignore when testing, a list (each item is a unicode string)
  • py2_ignore (a list of String): list of notebook names to ignore if testing on python 2, a list (each item is a unicode string)
  • timeout (Integer): timeout length for the execution of the notebook, an integer in range [0, inf], Default: 600
directory

directory (String): directory where the notebooks are stored, a unicode string, Default: .

get_tests(obj=None)[source]

Create a unittest.TestCase object to attach the unit tests to.

ignore

ignore (a list of String): list of notebooks to ignore when testing, a list (each item is a unicode string)

py2_ignore

py2_ignore (a list of String): list of notebook names to ignore if testing on python 2, a list (each item is a unicode string)

run_tests()[source]

Run the unit-tests. Returns True if all tests were successful and code`False` if there was a failure.

import nbtest
test = nbtest.TestNotebooks(directory='./notebooks')
passed = test.run_tests()
assert(passed)
test_dict

dictionary of the name of the test (keys) and test functions (values) built based upon the directory provided

timeout

timeout (Integer): timeout length for the execution of the notebook, an integer in range [0, inf], Default: 600