Node.jsのHTTPサーバをテストするためのライブラリである「SuperTest」を用いることで、
ExpressでのHTTPサーバの結合テストを作成します。
手順
以下のコマンドを実行して、必要なパッケージをインストールする。
npm install -D supertest @types/supertest
test/ping/ping.test.tsというファイルを作成し、以下のように編集する。
import request from 'supertest';
import { app } from '../../src/app';
describe('pingController', () => {
test('GET /ping', async () => {
const req = request(app);
const res = await req.get('/ping');
expect(res.status).toBe(200);
expect(res.text).toBe('pong');
});
});
参考
- How to test Express.js with Jest and Supertest | Through the binary
https://www.albertgao.xyz/2017/05/24/how-to-test-expressjs-with-jest-and-supertest/ - ladjs/supertest: 🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
https://github.com/ladjs/supertest