2014-02-27 28 views
0

我需要在每次測試之前清除登錄cookie,因爲之前的測試可能已經存儲了該Cookie。這是我現在所擁有的,但它似乎並沒有擺脫cookie /憑證,因爲在刪除後客戶端的請求仍然會獲得200。任何幫助將非常感激。清除每個測試不起作用的Cookie。使用Karma + Qunit(使用Pavlov)+ Ember。在PhantomJS/Chrome中運行

var clearCookies = function() { 
     var cookiesToDelete = ["cookie1", "cookie2"] 
     cookiesToDelete.forEach(function(cookie) { 
      document.cookie = cookie + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=.domain.com"; 
     }) 

測試:

describe("CRITERIA 1:", function() { 
    before(function() { 
     clearCookies() // Clearing cookies prior to test 
     App.reset() 
     visit('/') 
    }) 
    it(function() { 
     //asserts in here seem to still use cookie!   
    }) 
}) 

阿賈克斯稱爲斷言語句中,經過 「Cookie刪除」

$.ajax({ 
    url: clientUrl, 
    dataType: "json", 
    xhrFields: { 
     withCredentials: true 
    }, 
    success: function() {}, 
    error: function() {} 
}) 

回答

0

解決方法我落得這樣做調用註銷API,而不是仍然得到200清除cookie。

describe("CRITERIA 1:", function() { 
    before(function() { 
     logout() // logout instead of clearing cookies 
     App.reset() 
     visit('/') 
    }) 
    it(function() { 
     //asserts in here seem to still use cookie!   
    }) 
}) 
相關問題