2016-02-26 88 views
2

我想自動記錄我的REST-API。我知道,這有很多工具,但我想從我的單元測試中生成文檔。從unittests生成REST-API文檔

其原因是,我想要文檔鏡像,什麼是測試,什麼不是。儘管如此,文檔應該與文檔swagger所生成的文檔一樣豐富。

我已經用這種方法找到了兩個項目doctestertestdoc4j。兩者都不能滿足我的需求。由此產生的文檔不聚集開心路徑和錯誤路徑。

你使用什麼工具,你能推薦任何好的工具嗎?

乾杯。

編輯:

有記錄了API契約,在接口中定義的,並記錄測試場景之間的差。如果我的文檔只包含經過測試的端點和路徑,我可以定義我的界面,並且只能分發我測試過的部分。

這意味着我可以定義一個接口,讓我們說10個端點。通過相應的測試實現基本功能後,我可以通過文檔發佈該部分。不包括穩定或實施的端點,這阻止了用戶使用它們。

回答

0

也許你想要一個BDD框架?例如:

+0

不,我想過,但是這不是我想要的。它們不適用於API文檔,並且不能包含發送的請求和收到的響應。 –

0

我最近做了關於同一主題的一些研究,並決定使用的Miredot免費版本,因爲它是滿足的唯一工具我要求:

  1. 不需要額外的註釋。所有的信息是從JavaDoc中提取
  2. 可以處理JAX-RS以及Spring註解
  3. 易行家集成

Miredot自動生成當您運行mvn test

+0

您說得對,文檔是在測試步驟中生成的,但它指的是合同定義而不是測試。 –

+1

Miredotter這裏..只是爲了確認。在編譯步驟之後,Miredot會進入maven生命週期。運行'mvn test'確保Miredot也能運行。我們只查看代碼,註釋和Javadoc,而不是測試。 – bertvh

0

揚鞭基於HTML文檔是一個美麗選項。它是GitHub上的一個項目,具有Maven集成和其他一些選項以保持靈活性。

集成指南:swagger-core wiki

更多信息:here

+0

你是對的,招搖吧產生一個結構良好的文檔,但它不是來自測試。它將接口作爲文檔來源,這是一個很大的區別。 Swagger記錄合同,而我想要一個實際測試用例的文檔。 –