Python 在jupyter笔记本中运行pytest测试函数

Python 在jupyter笔记本中运行pytest测试函数,python,jupyter-notebook,pytest,jupyter,Python,Jupyter Notebook,Pytest,Jupyter,我正在做一个关于python测试选项的演示,我想演示的技术之一是pytest。我打算用jupyter/ipython笔记本做演示。理想情况下,我希望能够在单元格中定义一个测试函数,然后使用pytest运行该函数;这样我就可以演示pytest的各个特性,等等 有没有现成的方法可以做到这一点?我在pytest api中看到的交互功能似乎都不符合要求,但我肯定不是pytest专家。我很乐意写一个插件来做这件事,所以任何关于这方面的最佳方法的建议都是非常好的 我确实看到了pytest-ipynb,但它似

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

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

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

我就是为了这个目的而创建的,并在中使用了它

您可以使用如下工具:

%%pytest

def test_my_stuff():
    assert 42 == 42

不幸的是,我找不到一种方法使笔记本中定义的函数和类可以在测试单元中测试函数。如果有人能想出解决办法,我将不胜感激

有一个类似的模块看起来非常成熟:

它在@akaiola开发的模块中被引用,看起来更加活跃

我个人没有使用Jupyter,所以我自己也没有测试过它,但它看起来是一个很好的解决方案

下面是Github存储库()中的一个示例


我在这里花了2美分,因为我已经为自己解决了这个问题2倍,两次都回到了这个网站。为了我未来的自己:

对于按以下方式构造的项目

prod_folder:
* data
* code
    * run_notebook.ipynb
* tests
   * test_some_test.py
如果您想从run_notebook.ipynb中运行pytest,那么以下单元格魔术对我来说很有用:

!pytest../tests

看起来很完美!这就是我没来参加会议的原因。哦,对不起,我以为我来了。@akaihola找到了你的演讲。你也要发吗?)@pylang我计划把幻灯片变成一系列的博客文章。我似乎需要被踢一下。。。哦,现在Youtube上也有这样的话题:有人能找到一个解决方案,将对象从测试单元中释放出来吗?只是添加到这里的数据,但实际上并没有回答这个问题,这里指的是什么内核/工具?jupyter python内核单元
make是一个shell调用。您正在从shell实例化一个新的Python会话并运行pytest,这是一个很好的观点。我没考虑过,谢谢。我的非常“它似乎工作并与之相适应”