JestとSupertestを用いたノードエクスプレスAPIにおける実装試験
テストでは、アプリケーションのコードの最小部分の動作を確認することが重要です.それはあなたのコードの質を改善し、バグの修正に費やす時間とお金の量を減らすことができます.さらに、ユニットテストでは、開発ライフサイクルの初期にバグを見つけることができます.ノードで.JSはユニットテストの実行に利用可能なフレームワークがたくさんあります.その中には
モカ、ジェスト、ジャスミン等.
以下にJestとSupertestを通して単体テストを見ていきます.
Jestは人気のテストフレームワークです.それは開発され、Facebookによって維持されます.JESTの主要な特徴の一つは、それがよく文書化され、並列テストを実行することをサポートしています.つまり、それぞれのテストはパフォーマンスを最大化するために独自のプロセスで実行されます.また、テスト、カバレッジ、スナップショットのようないくつかの機能が含まれます.
次のコマンドを使用してインストールできます.
Jestを使用したテストの例
戸辺
EG :期待(2 + 2).tobe ( 4 )
等高線
予期します.等高線( 1 : 1 , 2 : 2 )
ない.戸辺
期待される( 2 + 2 ).ない.十兵衛( 5 )
tobenull , tobeundefined , tobeamererthan , tobelesthan , toincludes , tomatchなど.
以下のコマンドを使用して個々のファイルを実行できます
APIエンドポイントテストは、Jestとスーパーテストと呼ばれる別のライブラリの助けを借りて行うことができます.
スーパーテストのインストール
詳細については、
https://jestjs.io/
https://www.npmjs.com/package/supertest
モカ、ジェスト、ジャスミン等.
以下にJestとSupertestを通して単体テストを見ていきます.
Jestは人気のテストフレームワークです.それは開発され、Facebookによって維持されます.JESTの主要な特徴の一つは、それがよく文書化され、並列テストを実行することをサポートしています.つまり、それぞれのテストはパフォーマンスを最大化するために独自のプロセスで実行されます.また、テスト、カバレッジ、スナップショットのようないくつかの機能が含まれます.
次のコマンドを使用してインストールできます.
npm install --save-dev jest
デフォルトでは、Jestはルートフォルダ内の“test”と呼ばれるフォルダー内のすべてのテストファイルを見つけます.Jestを使用したテストの例
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
Jestによってサポートされるいくつかのアサート型です戸辺
EG :期待(2 + 2).tobe ( 4 )
等高線
予期します.等高線( 1 : 1 , 2 : 2 )
ない.戸辺
期待される( 2 + 2 ).ない.十兵衛( 5 )
tobenull , tobeundefined , tobeamererthan , tobelesthan , toincludes , tomatchなど.
以下のコマンドを使用して個々のファイルを実行できます
jest <test file name>
テストフォルダ内のすべてのテストファイルをパッケージに追加するスクリプトを実行します.JSON"test": "jest"
NPMのテストは、テストを実行するために使用することができますAPIエンドポイントテストは、Jestとスーパーテストと呼ばれる別のライブラリの助けを借りて行うことができます.
スーパーテストのインストール
npm install --save-dev supertest
テストAPIでは、以下に示すようにサンプルAPIテストを実装できます.const request = require('supertest')
const app = require('./app')
const baseUrl = 'http://localhost:8000'
describe('sends users', (app) => {
it('should return users', async () => {
const res = await request(baseUrl)
.get('/getUsers');
expect(res.statusCode).toEqual(200);
expect(res.body).toHaveProperty('users');
});
});
describe('Post Endpoints', () => {
it('should create a new post', async () => {
const res = await request(baseUrl)
.post('/posts')
.send({
userId: 1,
title: 'test',
})
expect(res.statusCode).toEqual(200)
expect(res.body).toHaveProperty('post')
})
})
NPMテストを使用してテストを実行し、テスト結果は以下のようにターミナルコンソールで見ることができます.詳細については、
https://jestjs.io/
https://www.npmjs.com/package/supertest
Reference
この問題について(JestとSupertestを用いたノードエクスプレスAPIにおける実装試験), 我々は、より多くの情報をここで見つけました https://dev.to/akshaiim/implement-testing-in-node-express-apis-using-jest-and-supertest-jalテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol