With the split from Jupyter went the need for specialized IPython testing tools. This does not reduce the need to test IPython programs, however. There are several testing frameworks for Python itself that fit neatly into this role. No one writes code expecting it to produce incorrect output, or bomb. Regardless, years of experience in the industry have demonstrated that good design is not enough. Programs need to be thoroughly tested before their results can be relied on. This is especially true for scientific and numeric systems, where errors can be subtle but their effects far-reaching. No one wants to repeat the Mars Climate Orbiter fiasco.
We will look at some of the more popular frameworks and discuss some issues that are particular to testing in a highly parallel/HPC environment.
The following topics will be covered:
Unit testing
unittest
pytest
nose2