跳转到主要内容

IPython扩展,用于运行当前单元格的pytest。

项目描述

ipython_pytest

这个小巧的IPython扩展让您能够在IPython笔记本中使用Pytest运行测试。

这个扩展的动机是使能够在IPython笔记本驱动的演示中使用pytest展示测试驱动开发。

这个扩展并不试图使笔记本作为测试套件使用。其目的也不是从多个单元格中收集测试结果,而是在交互式演示中对单元格进行单独的测试运行。

这个扩展试图为pytest实现ipython_nose扩展为nose所做的一切。不幸的是,它无法像ipython_nose中的%%nose 单元格魔法一样将笔记本环境中的全局变量注入到测试中。相反,在ipython_pytest中,所有导入、常量和辅助函数都需要包含在测试单元格本身中。

安装

  • 确保您的IPython笔记本服务器可以导入ipython_pytest.py(例如,将其复制到您的PYTHONPATH中的目录,或在启动IPython Notebook之前修改PYTHONPATH)。也有可能只需将ipython_pytest.py放在运行笔记本的目录中即可,例如。

    $ ls
    ipython_pytest.py
    $ ipython notebook
  • 您也可以在开发模式下将其安装在虚拟环境中

    $ cd ipython-pytest
    $ pip install -e .

用法

  • 在您的笔记本中添加包含以下内容的单元格。

    %load_ext ipython_pytest

    某处。

  • 编写符合Pytest规范的测试,例如。

    def test_arithmetic():
        assert 1+1 == 2
  • 添加一个包含以下内容的单元格

    %%pytest
    
    def test_my_stuff():
        assert 42 == 42

    到您的笔记本中,并运行该单元格。这将发现您的 test_* 函数,运行它们,并显示 Pytest 的控制台输出。

  • 将标准 Pytest 参数传递给魔法

    %%pytest --tb=short

注意事项

  • 笔记本中其他单元格中定义的所有对象在测试单元格中均不可用。

作者

  • Antti Kaihola <antti dot kaihola at eniram dot fi>

其他类似工具

感谢 Taavi Burns 在他的 ipython_nose 包中的想法。

Christopher Prohm 创建了 ipytest 包,用于在 IPython 笔记本中运行 pytest 和 unittest 测试。

获取代码

git clone https://github.com/akaihola/ipython_pytest.git

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分布

ipython_pytest-0.0.1.tar.gz (3.5 kB 查看哈希)

上传时间 源代码

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页