簡體   English   中英

使用PHPUnit測試REST API

[英]Testing REST APIs using PHPUnit

我正在構建一組RESTful API,現在需要為它們編寫單元測試。 我不確定單元測試應該實際測試什么。

單元測試是否應檢查從服務器接收的響應是否適用於各種輸入? 如果是這樣,預先定義一組正確的響應格式並檢查針對它們的響應是否是一種好習慣?

UPDATE

我通過CURL調用這些服務,我絕對可以檢查狀態代碼。 對於不同的輸入,響應可能會有所不同,因此我應該檢查所有可能的響應嗎?

通常如何使用PHPUnit對RESTful API進行單元測試?

如果您的API的數據層被充分抽象化,以便您可以為給定的輸入接收一致且可預測的輸出,那么您的測試用例肯定應該包含一些有限的輸入列表的一些常見輸出預期。他們還應測試您可以鼓勵的任何錯誤情況起來。

如果您的API無法針對處於可預測狀態的數據層(例如,如果它連接到實時數據或開發人員之間共享的數據),那么您最終將花費大量時間來修復測試以正確建模數據的新狀態。 這使得單元測試的價值降低,因為您可能不會經常運行它們,並且因為您無法確定測試失敗是由於數據的更改還是程序邏輯的更改。 這是否超過未進行單元測試的風險將取決於您的個人情況(測試中斷的次數,服務的重要程度,以及ct)。

至於如何使用PHPUnit來運行測試用例,我無法回答具體問題,但我想你會像@basiljames所說的那樣做; 對給定端點執行調用,並驗證收到的響應是否符合您的期望。 與任何其他單元測試沒有什么不同,除了它們可能運行得慢一點的事實。

您可以將JUnit用於測試用例。 您必須檢查HTTP Status Code ,然后檢查任何特定屬性或值的響應內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM