0

我喜欢使用真正的 http 后端进行 E2E 测试。

作为我的 E2E 测试的一部分,我想在 beforeEach() 函数中创建一个测试用户,并在完成测试后在 afterEach() 函数中删除该用户。

所以我创建了一个用于创建用户的 REST 端点:/users/create 然后我需要将用户名和密码发布到该 Url。

但是由于某种原因,似乎无法在 E2E 测试中注入 $http 服务。

那么如何在 E2E beforeEach() 函数中向 /users/create 发出 POST 请求?

4

1 回答 1

1

默认情况下,e2e 测试环境无法访问 jQuery 或 Angular 函数。

我会将 jQuery 添加到测试环境中。您可以按照lorcan 对这个问题的 回答(目前不是最佳答案)来做到这一点:如何从 Angular e2e 测试范围执行 jQuery?

一旦你有 jQuery 可用,你可以做一个标准的 ajax 请求:

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

确保将 async 设置为 false。您可能希望对成功函数做一些不同的事情,例如将返回数据分配给变量。

于 2013-06-03T20:31:30.923 回答