2014-02-19 47 views
0

我正在體驗TDD,我需要知道如何單元測試將通過AJAX在js中調用的web服務。我已經查閱瞭如何模擬ajax調用並單獨測試webservice,但是我意識到如果其他人更改webservice中的參數類型或數量並完全忘記更改ajax調用中的參數。有沒有什麼辦法在測試過程中連接這兩者,以便他們將依賴彼此,因爲即使我改變了webservice中的參數,即使ajax調用具有不同的參數,然後web服務,他們也只是簡單地通過測試。如何單元測試從AJAX調用的Webservices方法

編輯:

的JS和C#的測試是分開的,但是,如果有人沒有做測試去那裏和編輯調用它的關於AJAX調用C#方法和測試和忘記一個,所有測試會通過,沒有人會知道,直到用戶點擊它或去它的錯誤。

回答

0

單元測試意味着一次測試單個獨立模塊單元。所以Jquery調用和webservice響應在這裏是兩個單獨的單元(客戶端和服務器)。

Junit的作用範圍是測試具有所有邏輯輸入的模塊單元。嘗試確定所有可能的請求將從JQuery中產生,然後模擬請求以測試Web服務。

0

你的目標不應該是單元測試Javascript中的AJAX函數正在工作 - 而是你的目標應該是測試你的web服務展現出預期的行爲,並且你的JavaScript使得預期的AJAX調用具有正確的格式。

大多數服務器技術允許您實例化您的Web服務類,而無需實際託管/綁定任何東西。然後,您可以通過單元測試直接調用服務上的方法。

如果你的AJAX調用有一個可靠的抽象,那麼使用依賴注入可以模擬出你的JavaScript,那麼測試你的JavaScript的單元可以變得更容易。