【问题标题】:Do I need to test actual API calls made by Front End Client App?我是否需要测试前端客户端应用程序进行的实际 API 调用?
【发布时间】:2018-08-30 02:04:36
【问题描述】:

我对 C# 和 JavaScript 比较陌生,我正在制作一个 ASP.NET/React/Redux 应用程序。我使用 superagent 编写了一个简单的 HTTP 发布请求:

import request from "superagent";

export const authenticationService = {
    login
};

function login(email, password) {
    return request.post("http://localhost:55903/api/login/contractor")
                  .type("form")
                  .send({ EmailAddress: email})
                  .send({ Password: password })
                  .then((res) => {
                      return res;
                  })
                  .catch((err) => {
                      return err;
                  });
};

我的主要问题是我需要对实际登录功能本身进行单元测试吗?到目前为止,我只看到了一些模拟 HTTP 响应来测试 React/Redux 方面的示例,但我还没有看到测试上述 HTTP 请求函数的示例。

【问题讨论】:

  • 您是在尝试运行集成测试还是单元测试?您使用模拟进行单元测试。
  • 我正在尝试运行单元测试
  • 您不必这样做,因为我们假设superagent 可以正常工作。如果我们要测试实际调用,这将是一个集成测试而不是单元测试。

标签: javascript reactjs unit-testing asp.net-web-api


【解决方案1】:

在您的情况下,在前端最好模拟数据,因为您不是在测试 HTTP 请求,而是在测试您的 React 应用程序是否显示正确的内容。

但是应该在后端测试 HTTP 请求。所以你的登录请求测试应该用你的 C# 代码而不是你的 React/Redux 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2015-11-24
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    相关资源
    最近更新 更多