从unittests生成REST-API文档

问题描述:

我想自动记录我的REST-API。我知道,这有很多工具,但我想从我的单元测试中生成文档。从unittests生成REST-API文档

其原因是,我想要文档镜像,什么是测试,什么不是。尽管如此,文档应该与文档swagger所生成的文档一样丰富。

我已经用这种方法找到了两个项目doctestertestdoc4j。两者都不能满足我的需求。由此产生的文档不聚集开心路径和错误路径。

你使用什么工具,你能推荐任何好的工具吗?

干杯。

编辑:

有记录了API契约,在接口中定义的,并记录测试场景之间的差。如果我的文档只包含经过测试的端点和路径,我可以定义我的界面,并且只能分发我测试过的部分。

这意味着我可以定义一个接口,让我们说10个端点。通过相应的测试实现基本功能后,我可以通过文档发布该部分。不包括稳定或实施的端点,这阻止了用户使用它们。

也许你想要一个BDD框架?例如:

+0

不,我想过,但是这不是我想要的。它们不适用于API文档,并且不能包含发送的请求和收到的响应。 –

我最近做了关于同一主题的一些研究,并决定使用的Miredot免费版本,因为它是满足的唯一工具我要求:

  1. 不需要额外的注释。所有的信息是从JavaDoc中提取
  2. 可以处理JAX-RS以及Spring注解
  3. 易行家集成

Miredot自动生成当您运行mvn test

+0

您说得对,文档是在测试步骤中生成的,但它指的是合同定义而不是测试。 –

+1

Miredotter这里..只是为了确认。在编译步骤之后,Miredot会进入maven生命周期。运行'mvn test'确保Miredot也能运行。我们只查看代码,注释和Javadoc,而不是测试。 – bertvh

扬鞭基于HTML文档是一个美丽选项。它是GitHub上的一个项目,具有Maven集成和其他一些选项以保持灵活性。

集成指南:swagger-core wiki

更多信息:here

+0

你是对的,招摇吧产生一个结构良好的文档,但它不是来自测试。它将接口作为文档来源,这是一个很大的区别。 Swagger记录合同,而我想要一个实际测试用例的文档。 –