2013-06-03 31 views
0

我喜歡使用真正的http後端進行E2E測試。如何在E2E beforeEach()函數中創建真正的POST請求?

作爲我的E2E測試的一部分,我想在beforeEach()函數中創建一個測試用戶,並且在完成測試後,我會在afterEach()函數中刪除此用戶。

所以我創建了一個REST端點來創建用戶:/ users/create 然後我需要發佈用戶名和密碼到該Url。

但似乎不可能因爲某些原因在E2E測試中注入$ http服務。

那麼我怎麼能在E2E beforeEach()函數中向/ users /創建一個POST請求呢?

回答

1

e2e測試環境默認無法訪問jQuery或Angular函數。

我會將jQuery添加到測試環境中。 How to execute jQuery from Angular e2e test scope?

一旦你擁有jQuery的使用,你可以做一個標準的AJAX請求:

beforeEach(function() { 
    $.ajax({ url:"/your/function/here", async:false, 
     success: function(data) { 
      alert(data); 
    }}); 
}); 

確保您可以通過以下洛坎的答案(不目前最頂級的答案)對這個問題做將異步設置爲false。你可能會想要做一些與成功功能不同的東西,比如將返回數據分配給一個變量。

+0

該選項被稱爲異步,不同步正確嗎? – Daan

+0

@達安謝謝。我編輯過它。 –

相關問題