为当前单元格运行pytest的ipython扩展。
ipython_pytest的Python项目详细描述
ipython_pytest
这个小小的ipython扩展使您能够 在ipython笔记本中使用pytest运行测试。
延期的动机是为了 在ipython中演示使用pytest的测试驱动开发 笔记本驱动的演示。
此扩展不尝试启用将笔记本用作测试 套房。其目的也不是从 多个单元格,但要对 互动演示。
此扩展尝试为pytest实现 ipython_nose扩展为nose。不幸的是它不能 将笔记本环境中的全局参数注入测试,如 %%nosecell magic in ipython_nose。相反,在 ipython_pytest,所有导入、常量和帮助函数都需要 包含在测试单元本身中。
安装
确保您的ipython笔记本服务器可以导入ipython_pytest.py(例如。 将其复制到PYTHONPATH中的目录,或修改PYTHONPATH 在启动ipython笔记本之前)。可能也足够 ipython_pytest.py在运行笔记本的目录中,例如:
$ ls ipython_pytest.py $ ipython notebook
您也可以在developent模式下的virtualenv中安装它:
$ 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_*函数,运行它们,并显示控制台输出 皮特斯特。
向magic传递标准pytest参数:
%%pytest --tb=short
注意事项
- 笔记本其他单元格中定义的对象都不可用 在测试室里。
获取代码
git clone https://github.com/akaihola/ipython_pytest.git
版权所有
版权所有(c)2016,Antti Kaihola。
保留所有权利。
以源和二进制形式重新分配和使用,有无 如果满足以下条件,则允许修改:
重新发布源代码必须保留上述版权声明 条件列表和以下免责声明。
以二进制形式重新分发必须复制上述版权声明,此 文件中的条件列表和以下免责声明和/或 其他随发材料。
开发人员和贡献者的姓名都不能 用于认可或推广从本软件衍生的产品 未经事先书面许可。
本软件由版权所有者和贡献者“按原样”提供,并且 任何明示或默示保证,包括但不限于 对特定用途的适销性和适合性的保证 否认。在任何情况下,版权所有人或贡献者均不承担责任 对于任何直接的、间接的、偶然的、特殊的、惩戒性的或间接的 损害赔偿(包括但不限于购买替代货物或 但是 根据任何责任理论,无论是在合同中,严格责任, 或因使用而引起的侵权行为(包括疏忽或其他) 即使被告知有可能造成这种损害。