【问题标题】:How do I make real POST requests in an E2E beforeEach() function?如何在 E2E beforeEach() 函数中发出真正的 POST 请求?
【发布时间】:2014-02-19 03:12:48
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: angularjs angularjs-service


    【解决方案1】:

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

    我会将 jQuery 添加到测试环境中。您可以按照 lorcan 的 对此问题的回答(目前不是最佳答案)来做到这一点: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);
        }});
    });
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-25
      • 2017-10-08
      • 1970-01-01
      • 2014-05-31
      • 2022-11-18
      • 2018-03-15
      • 2015-04-12
      • 1970-01-01
      相关资源
      最近更新 更多