Jestの設定
4174 ワード
Jestの設定
プロジェクトでJest
プロジェクトではJestでAPIテストを行いました.
新しい世界...
テストが必要だと実感する.
テストが必要な理由は次のとおりです。
プロジェクトの再設計を計画しています.
修理が必要なところは一つや二つではない.私はどうしてこのようなコードを構成したのですか?
まず、CRUDを実現する掲示板を作成し、徐々にアイテムを修正することにしました.
どうして...?
これを...どうしたっけ...?😅
本当に全然思い出せない.
やったことしか覚えていません..
他のブログ見てもわかりませんが
だから私のブログで整理します...
jest設定
受信jestパッケージ
yarn add -D jest supertest regenerator-runtime
@babel/core @babel/preset-env
yarn add -D jest supertest regenerator-runtime
@babel/core @babel/preset-env
test.js
オプションは、開発環境でのみ使用できるように設定されています.-D
はテストパッケージjest
は、ユーザが特定のurlに対する要求に従って応答を取得することを可能にする.統合テストに役立ちます.プロファイルGoGo
package.babelはjsonと同じディレクトリにあります.config.jsonとjest.config.jsonを生成し、次のように記述します.
babel.config.json
{
"presets": ["@babel/preset-env"]
}
まずbabelの設定jest.config.json
{
"moduleFileExtensions": ["js", "mjs"],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.mjs$": "babel-jest"
},
"testRegex": "((\\.|/*.)(test))\\.js?$",
"verbose": true
}
supertest
:モジュール拡張子の宣言moduleFileExtensions
:babelでコンパイルされた宣言transform
:testファイルの名前正規表現testRegex
:各テスト結果を表示するためのオプションConfigure Babel
Configuring Jest
npm test
npm scriptを使用します.
"scripts": {
"test": "jest --forceExit"
}
package.jsonのスクリプトでは、次のように定義されます.テストは
verbose
で行います.動作の快感
npm test
オプションは、テスト終了後に強制的に終了します.テストが完了すると、サーバは動作状態を維持します.
注意事項
Jest並列テスト.
supertestでテストを行う場合、app.jsをインポートして実行します.直接使用すると、ポートが使用されているため、テストは実行できません.
このとき、app.jsでは、サーバの実行がテスト環境ではない場合にのみ実行されます.
if (process.env.NODE_ENV !== "test") {
app.listen(port, () => {
logger.info(`Start server at ${port}`);
});
}
他に方法があれば勉強したいのですが...テストコードの作成
テストコードを作成します.
ファイル名は
--forceExit
!詳細な作成方法は次のとおりです.
Reference
この問題について(Jestの設定), 我々は、より多くの情報をここで見つけました https://velog.io/@sinf/Jest-설정하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol