gpt4 book ai didi

Node.js 测试 REST API

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:30 24 4
gpt4 key购买 nike

我正在测试一个使用 jasmine 框架 Node js 的项目。

我通过使用 $httpBackend 进行模拟来对客户端代码进行单元测试。

现在我想测试我的服务器端代码和 REST api,但不知道如何执行此操作?

测试 REST API 的最佳方法是什么?

最佳答案

我最近探索了 REST API 应用程序的自动化测试,并遇到了许多技术选择。由于我的 REST API 基于 Express,因此我决定使用同一开发人员 TJ Holowaychuk 的测试框架软件,因为我认为他用于测试自己的 Express 的框架应该制作精良,足以满足我的需求。

我对 Node 技术的最终组合感到满意。我使用 Grunt 任务运行程序(由 npm 执行)、Mocha 测试运行程序(来自 TJ)、chai 断言库(使用“should”断言样式)和 supertest(来自 TJ)。

使用该测试堆栈,我可以轻松运行 REST API 的自动化测试。以下是简单测试的运行时输出:

[jfathman@cloud api]$ npm test

> api@0.0.1 test /home/jfathman/work/git/api
> node_modules/.bin/grunt test

Running "jshint:file" (jshint) task
>> 3 files lint free.

Running "mochaTest:test" (mochaTest) task

Test API Proxy REST API
? Read config.yaml
? GET /metadata/new, expect json and 200 OK (114ms)
? GET /metadata/saved, expect json and 200 OK (100ms)
? GET /metadata/deleted, expect json and 200 OK (88ms)
? GET /metadata/invalid, expect 400 Bad Request

6 passing (326ms)

Done, without errors.

您还可以单独运行测试运行程序:

[jfathman@cloud api]$ mocha -R spec

Test API Proxy REST API
+ Read config.yaml
+ GET /metadata/new, expect json and 200 OK (95ms)
+ GET /metadata/saved, expect json and 200 OK (102ms)
+ GET /metadata/deleted, expect json and 200 OK (82ms)
+ GET /metadata/invalid, expect 400 Bad Request

6 passing (305ms)

现在,在开发过程中从命令行或从 Jenkins 等运行 REST API 测试套件是一件简单的事情。 CI 测试期间。

关于Node.js 测试 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22551372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com