简介
NPM包test-got是基于got封装的针对Http请求的单元测试工具,支持Mock Server, API Test和e2e Test场景,能够使得Http请求的单元测试更便捷高效。
安装
npm install test-got --save-dev
使用
在使用test-got之前,需要先引入chai和mocha来进行测试用例的编写。
const { expect } = require('chai'); const { describe, it } = require('mocha');
Mock Server测试
Mock Server测试旨在模拟API的服务端返回数据,并支持测试用例的组织、维护。
在进行Mock Server测试之前,需要引入Mock Server之前的代码:
-- -------------------- ---- ------- ----- ------- - ---------------------------- ----- ---------- - ------------------- ----- ------- - -------------------------------------------- - ------- ------ ------ --------------- --------- ----- ---- -- - ----- - ---- - - ----------- --------------- ----------- -- -- --- ---------------------
这段代码中定义了一个mock server,用于返回/hello/:name
路径下的Hello ${name}!
内容。
接下来是测试用例的编写:
describe('Test mock server', () => { it('Returns Hello world', async () => { const result = await TestGot('/hello/world?query=q', { baseUrl: 'http://localhost:3000' }); expect(result.body).to.equal('Hello world!'); }); });
这段测试代码中调用了TestGot这个函数,发起了一个get请求,查询参数为“q”,并断言返回的内容为“Hello world!“。
API Test
API Test测试案例是指验证请求的响应内容是否正确。
-- -------------------- ---- ------- -------------- --- ----------- -- -- - ----------- --- --- ---- -- ---------- ----- -- -- - ----- ------ - ----- ---------------------------- - -------- ----------------------- --- ---------------------------------------- -------------------------------------- --- ---
e2e Test
e2e Test测试案例是指验证请求的响应内容是否正确。
-- -------------------- ---- ------- ------------- ------ -- -- - -------------- ------- ------ --- ------ ------ ----- -- -- - ----- -------------- - ----- --------------------------- - -------- ------------------------ ------- ------- ----- - ------ ---------------- --------- ----------- --------- ---------- - --- ------------------------------------------------ -------------------------------------------------------------------- ----- -------------- - ----- --------------------------- - -------- ------------------------ ------- ------- ----- - ------ ---------------- --------- ---------- - --- ------------------------------------------------ ----- ----- - -------------------------- ----- --------------- - ----- ---------------------------- - -------- ------------------------ ------- ------ -------- - -------------- ------- --------- - --- ------------------------------------------------- --- ---
此处展示了一个完整的e2e测试,其通过调用POST请求进行注册并验证返回值,调用POST请求进行登录,进而获取到token,最终调用GET请求进行登出,并验证返回值。
总结
test-got是一个非常便利可靠的Http请求单元测试工具,支持mock server, API test和e2e test三种类型的测试案例,可以使得开发人员在进行Http请求相关的单元测试时取得更高的效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067355890c4f7277583a93