pytest文档工具

pytest-docs的Python项目详细描述


生成测试应用程序本身文档的pytest插件。

PyPI versionPython versionsTravis CIBlackPepy.techhttps://codecov.io/gh/liiight/pytest_docs/branch/master/graph/badge.svg

功能

创建测试文档。转动此按钮:

'''This is the module doc'''
import pytest

pytestmark = [
    pytest.mark.module_mark,
    pytest.mark.module_mark_2,
    pytest.mark.pytest_doc(name="Test Docs"),
]


@pytest.mark.class_marker
@pytest.mark.pytest_doc(name="Test Class")
class TestClass:
    '''This is the class doc'''

    @pytest.mark.func_mark_a("foo")
    def test_func_a(self):
        '''This is the doc for test_func_a'''
        assert 1

    @pytest.mark.kwarg_mark(goo="bla")
    def test_func_b(self):
        '''This is the doc for test_func_b'''
        assert 1

对此:

# Test Docs
This is the module doc

**Markers:**
- module_mark
- module_mark_2
- pytest_doc  (name=Test Docs)
## Test Class
This is the class doc

**Markers:**
- pytest_doc  (name=Test Class)
- class_marker
### test_func_a
This is the doc for test_func_a

**Markers:**
- func_mark_a (foo)
### test_func_b
This is the doc for test_func_b

**Markers:**
- kwarg_mark  (goo=bla)

当前支持的格式:

  • 降价
  • 重新剪切的文本

为什么不是狮身人面像?

(更准确地说,为什么不是斯芬克斯Autodoc?) 狮身人面像是一个很棒的工具,我在其他项目中使用过。要使用其autodoc插件,它需要由python interperter导入文档化的插件。pytest测试收集和调用使用完全独立的机制。 如果您认为可以使用sphinx创建pytest文档,请随时与我联系。

要求

  • python 3.4、3.5、3.6或3.7
  • Pytest=3.5.0

安装

您可以通过pipPyPI

$ pip install pytest-docs

用法

使用--docs [PATH]创建文档。

使用--doc-type选择类型(当前支持mdrst

使用@pytest.mark.pytest_doc(name="Test Class")重写元素的名称。它将根据正在使用的位置(模块、类或函数)重写名称。

注意:pytest文档使用pytest收集机制,因此您的文档将根据用于运行测试的常用收集命令生成。

未来计划

  1. 看看是否有人对此感兴趣
  2. 文件固定装置
  3. 记录测试和夹具参数化
  4. 通过挂钩自定义格式化程序

贡献

我们非常欢迎您的贡献。测试可以用tox运行,请确保 在提交请求之前,覆盖范围至少保持不变。

许可证

“pytest docs”是根据MIT许可证的条款发布的免费开源软件

问题

如果您遇到任何问题,请file an issue连同详细说明。

这个pytest插件是用Cookiecutter@hackebrotcookiecutter-pytest-plugin模板生成的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从绝对路径到相对路径的转换   java ListView对添加的成员进行排序,就像它们是原始列表之后的另一个排序列表一样   java Differenticate<img>不带“alt”,而<img>带空的“alt”属性和JSoup   java复制并重命名DefaultTask类中的文件?   java无法解析“FireBaseInstancedReceiver”中的方法“GetInstancedReceiver”   java定义单个方法使用的字符串常量的最佳方法   在Java中创建自定义事件   java如何将字符串转换为数据集   在java中使用自动连线对象   java和java有什么区别。彻头彻尾的。日志文件   java extends关键字是一个参考变量吗?   AES 128加密java中的加密和javascript中的解密   java SAX解析器如何处理来自的错误数据。XML文件   带有方法引用和基元类型的java类型推断   java如何在Spring Boot 1.5.9中全局配置jackson非空   java对象转换子类/超类   java google fusion tables,在标记周围画一个圆圈   使用与另一个列表Java流的全部内容匹配的条目筛选列表的内容