Limpiar las cookies para cada prueba que no funciona.Utilizando karma + qunit (usando Pavlov) + Ember.Corriendo en Phantomjs / Chrome
-
23-12-2019 - |
Pregunta
Necesito borrar una cookie de inicio de sesión antes de cada prueba, ya que las pruebas anteriores podrían haber almacenado la cookie.Esto es lo que tengo en este momento, pero no parece deshacerse de las cookies / credenciales, ya que las solicitudes de clientes aún obtienen 200 después de dicha eliminación.Cualquier ayuda sería muy apreciada.
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";
})
Prueba:
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!
})
})
AJAX llamado dentro de la declaración de afirmación que aún obtiene un 200 después de la "eliminación de cookies"
$.ajax({
url: clientUrl,
dataType: "json",
xhrFields: {
withCredentials: true
},
success: function() {},
error: function() {}
})
Solución
El trabajo que terminé haciendo estaba llamando a una API de cierre de sesión en lugar de limpiar las cookies.
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!
})
})
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow