2017-05-27 68 views
0

我們正在使用dredd來測試我們的API,並且一直在利用python掛鉤來成功分離API文檔,然而dredd使用了其他測試邏輯。向我的dredd/hook CircleCI測試套件(apiary上的API文檔)添加負面測試,相關?其他工具?

我的問題是:是否可以將負面測試納入我們的工作流程?如果是這樣的話,最有效的方法/工具是什麼?

的幾個例子來說明:

  1. 我們具有其中驗證當用戶輸入正確的憑證(用戶名,密碼)爲200響應的標誌。但是我們也想爲錯誤的憑證添加一個測試,在運行'dredd'命令時也會運行這個憑證,爲此我們需要兩次運行登錄請求 - 一次用於正確憑證,一次用於錯誤憑證。

問題: - 目前我們不知道如何不止一次運行任何要求與不同的邏輯來每次執行

  • 我們有一個獲取用戶的個人資料我們希望在測試套件開始時(在創建之後)以及在所有其他請求已經執行之後運行一次(添加測量,加入/離開組等)的細節。
  • 問題: - 目前我們不知道如何不止一次運行任何要求與不同的邏輯來每次執行

    的問題很簡單,我敢肯定,必須有某種方式這樣做 - 但它也將有助於知道我們是否在正確的位置尋找答案...是否爲這種任務尋找正確的工具?

    回答

    1

    API藍圖支持指定多個請求和響應(多對多)。以下結構是一個有效的API藍圖行動:

    # POST [/something] 
    
    + Request (application/json) 
    + Request (application/xml) 
    + Response 200 
    + Response 500 
    
    + Request (text/plain) 
    + Response 415 
    + Response 500 
    

    Dredd有此支持,雖然有限。 You need to have them as request-response pairs

    # POST [/something] 
    
    + Request (application/json) 
    + Response 200 
    
    + Request (application/json) 
    + Response 500 
    

    如果生成相同的API文檔藍圖,我勸你把它分割成兩個文件。第一個有積極方案,要進行測試並提交給用戶,第二個方案則爲負面方案,以便進行測試。這樣你仍然可以保持你的文檔可讀。