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
注意事项
笔记本中其他单元格中定义的所有对象在测试单元格中均不可用。
其他类似工具
感谢 Taavi Burns 在他的 ipython_nose 包中的想法。
Christopher Prohm 创建了 ipytest 包,用于在 IPython 笔记本中运行 pytest 和 unittest 测试。
获取代码
git clone https://github.com/akaihola/ipython_pytest.git
版权
版权(c)2016,Antti Kaihola。
保留所有权利。
在满足以下条件的情况下,允许重新分配和使用源代码和二进制形式,无论是否修改:
源代码重新分配必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分配必须在本文档和/或其他与重新分配一起提供的材料中复制上述版权声明、本条件列表和以下免责声明。
未经事先书面许可,不得使用开发人员或贡献者的姓名来认可或推广源自本软件的产品。
本软件由版权所有者和贡献者提供“按原样”及任何明示或暗示的保证,包括但不限于适销性和适用于特定目的的暗示保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的丧失;或业务的中断)承担责任,即使被告知此类损害的可能性,这些损害源自使用本软件,即使被告知此类损害的可能性。
项目详情
ipython_pytest-0.0.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 986f1859f3881c7c9f3104074889fb6f6a9bbcae59c46fe1b582b73db8dc4040 |
|
MD5 | 019266d839de9a87e90402f8ae9cbd39 |
|
BLAKE2b-256 | de4127fd955cca43bbbb546959b77bd5757495ffb2ca3cb08fc6b0cce6c366c8 |