26 构建一个GraphQL API之部署与测试

在上一篇中,我们已经完成了构建基本的 GraphQL API 结构。现在,我们将进入这一系列教程的另一个重要部分:部署测试我们的 GraphQL API。通过本文,你将学习到如何将你的 API 部署到云服务,并运用测试工具确保其稳定性和可用性。

部署 GraphQL API

选择部署平台

在部署 GraphQL API 之前,首先需要选择一个合适的云服务平台。常见的选择包括:

  • Heroku
  • AWS(Amazon Web Services)
  • GCP(Google Cloud Platform)
  • DigitalOcean

本教程将以 Heroku 为例,演示如何快速部署你的 GraphQL API。

在 Heroku 上部署

  1. 安装 Heroku CLI

    如果你还没有安装 Heroku CLI,可以从 Heroku 官方网站 下载并安装。

  2. 登录 Heroku

    打开终端并输入以下命令进行登录:

    1
    heroku login
  3. 创建 Heroku 应用

    在你的项目根目录中,使用以下命令创建一个新的 Heroku 应用:

    1
    heroku create your-app-name
  4. 配置环境变量

    如果你的 API 依赖于环境变量(例如数据库连接字符串),可以使用以下命令设置这些变量:

    1
    heroku config:set DATABASE_URL=your_database_url
  5. 构建并部署

    确保你的项目包含一个 Procfile,该文件定义了应用程序的入口点。例如,对于 Node.js 应用,可以这样设置:

    1
    web: node index.js

    然后,使用以下命令将代码推送到 Heroku:

    1
    2
    3
    git add .
    git commit -m "Deploying GraphQL API"
    git push heroku master
  6. 开启应用

    部署完成后,可以使用以下命令启动你的应用:

    1
    heroku open

现在,你的 GraphQL API 已经成功部署并可以通过 Heroku 提供的 URL 访问。

测试 GraphQL API

在确保 API 成功部署之后,接下来的步骤是进行全面的测试。测试可以帮助我们发现潜在的bug,并确保 API 的稳定性和性能。

使用 Postman 进行手动测试

  1. 安装 Postman

    如果还没有安装,可以从 Postman 官网 下载并安装。

  2. 创建新的请求

    打开 Postman,选择 POST 方法并输入你的 GraphQL API URL,例如:

    1
    https://your-app-name.herokuapp.com/graphql
  3. 设置请求头

    在请求头中添加 Content-Type

    1
    2
    Key: Content-Type
    Value: application/json
  4. 构造请求体

    在请求体中输入你的 GraphQL 查询,例如:

    1
    2
    3
    {
    "query": "{ users { id name } }"
    }
  5. 发送请求并观察响应

    点击 “Send” 按钮发送请求并检查返回的数据,以确保 API 正常工作。

使用 Jest 进行自动化测试

为了实现更高效的测试,建议编写自动化测试用例。我们将使用 Jest 来实现这一点。

  1. 安装 Jest

    在你的项目中安装 Jest:

    1
    npm install --save-dev jest
  2. 编写测试代码

    创建一个名为 test.js 的测试文件,输入如下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    const request = require('supertest');
    const app = require('./index'); // 引入你的应用

    describe('GraphQL API', () => {
    it('should fetch users', async () => {
    const res = await request(app)
    .post('/graphql')
    .send({
    query: '{ users { id name } }',
    });

    expect(res.statusCode).toEqual(200);
    expect(res.body.data.users).toBeDefined();
    });
    });
  3. 运行测试

    在终端中运行以下命令来执行测试:

    1
    npx jest

测试通过后,你将看到相应的提示,这表明你的 GraphQL API 在正常工作。

小结

在本篇教程中,我们完成了 GraphQL API 的部署测试。通过在 Heroku 上部署我们的 API,并使用 Postman 及 Jest 进行手动和自动化测试,我们确保了 API 的可用性和稳定性。下一篇将继续探索 GraphQL API 的性能优化与最佳实践。希望你跟着这个系列持续加油,提升你的 GraphQL API 开发技能!

26 构建一个GraphQL API之部署与测试

https://zglg.work/graphql-api-dev-zero/26/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论