在jupyter笔记本中运行pytest函数

2022-03-01 00:00:00 python jupyter pytest jupyter-notebook

问题描述

我正在做一个关于python测试选项的演示文稿,我想演示的技术之一是pytest。我计划在jupyter/ipython笔记本上做演示。理想情况下,我希望能够在单元格中定义一个测试函数,然后使用pytest仅运行该函数;这样我就可以演示pytest的各个功能,等等。

现有的方法可以做到这一点吗?我在pytest API中看到的交互功能似乎都不符合要求,但我肯定不是pytest专家。我很乐意写一个插件来做这件事,所以任何关于这个方向的最佳方法的建议都将是很棒的。

我确实看到了pytest-ipynb,但它似乎不能满足我的需要。如果评估是错误的,那么关于如何使用它的建议也会很好。


解决方案

我为此创建了ipython_pytest,并在my PyCon Helsinki 2016 presentation中使用它。

您可以这样使用该工具:

%%pytest

def test_my_stuff():
    assert 42 == 42
不幸的是,我找不到一种方法来使笔记本中定义的函数和类可用于测试测试单元中的函数。如果有人能想出解决这个问题的办法,我将不胜感激。

相关文章