TypeScript のモカ
Mocha
と、それを TypeScript にインストールしてテストを実行する方法を紹介します。
TypeScript のモカ
何百万人ものユーザーが使用する商用アプリまたはアプリケーションで作業する場合、アプリケーションがエラーなしで完全に実行されることを確認する必要があります。 この目的のために、JavaScript テスト フレームワークである Mocha を使用します。
Mocha を使用して非同期テストとカバレッジ レポートを実行でき、それを使用して任意のアサーション ライブラリをテストできます。
このチュートリアルでは、Mocha を TypeScript にインストールする方法を紹介します。 ご存知のように、これは JavaScript フレームワークであり、TypeScript で Mocha をセットアップするのは簡単な作業ではなく、時間と労力がかかります。
Mocha と ts-node
の変更と更新に関するすべてのタスクを処理する TypeScript フレームワークが利用可能であり、テストの作成についてのみ心配することができます。 ts-mocha
ライブラリは、Mocha を簡単に実装して使用するために使用できる便利なライブラリです。
プロジェクトにインストールするには、次のコマンドを実行します。
npm i ts-mocha
次のコマンドを実行して、プロジェクトに mocha
および expect
タイプをインストールすることも重要です。
npm i @types/mocha @types/expect
テストを追加して実行すると、ほとんどの場合、typescript-require
に関連するエラーが発生します。 次のコマンドを使用して ts-node
の依存関係をインストールすることで、これを簡単に解決できます。
npm i ts-node
このコマンドは必要なライブラリをインストールし、mocha
を使用してテストを簡単に作成して実行できます。 Mocha
は主に chai
として知られる別のフレームワークで使用されます。
Node.js 用の BDD/TDD アサーション ライブラリです。 このライブラリは、あらゆるテスト フレームワークとペアになっており、テストの作成に役立ちます。
それでは、Mocha テストの例を作成し、アプリケーションでそれらを作成して使用する方法を確認する例を見てみましょう。 まず、新しいプロジェクトをインストールする必要があります。
この目的のために、mocha
という名前の新しいディレクトリを作成し、ターミナルで以下のコマンドを実行してプロジェクトを初期化します。
npm init
プロジェクトのオプションを尋ねられ、package.json
ファイルが作成されます。 この手順が完了したら、次のコマンドを使用して dotenv
で Express をインストールします。
npm i --save express dotenv
Express をインストールした後、プロジェクトに mocha
、chai
、typescript
、nodemon
、supertest
、ts-node
、および tsconfig-paths
をインストールします。 前述のように、mocha
と chai
は一緒にテストを作成するために使用されます。
typescript
でテストを作成するため、typescript
をインストールします。
プロジェクト ファイルに変更を加えるたびにプロジェクトを更新できるようにするため、nodemon
を使用します。 supertest
をインストールします。これにより、Mocha テストでエンドポイントをテストできるようになります。
これは、API をテストするのに役立ちます。 ts-node
をインストールすると、ノード プロジェクトで TypeScript を使用できるようになります。また、tsconfig-paths
が必要になります。これにより、Mocha テストのノード プロジェクト全体で絶対インポートを使用できるようになります。
以下に示すように、以下のコマンドを実行してそれらをインストールできます。
npm i -D mocha chai typescript nodemon supertest ts-node tsconfig-paths
TypeScript は型を知る必要があるため、これらの依存関係の型をインストールします。 次のコマンドを使用して簡単にインストールできます。
npm i -D @types/chai @types/mocha @types/node @types/supertest
以下に示すように、package.json
scripts
セクションに build
および dev
コマンドを追加します。
"scripts": {
"build": "tsc -p .",
"dev": "NODE_ENV=dev nodemon -r tsconfig-paths/register src/app.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
また、プロジェクトで TypeScript 構成を初期化する必要があります。 次のコマンドを使用すると、簡単に実行できます。
tsc --init
このコマンドは、TypeScript のすべての構成を含む tsconfig.json
という名前の新しいファイルを作成します。 このファイルでは、いくつかの変更を行う必要があります。
まず、出力ディレクトリを変更して、TypeScript のコンパイル時にブラウザーで使用できる一連の JavaScript を出力できるようにする必要があります。それを dist
フォルダー内に配置し、その他の変更を次のように行います。 下に示された。
"rootDir": "./src",
"moduleResolution": "node",
"baseUrl": "./src",
次に、以下に示すように、package.json
ファイルに test
コマンドを設定または追加します。
"test": "NODE_ENV=test mocha --check-leaks -r tsconfig-paths/register -r ts-node/register \"test/**/*.spec.ts\""
テスト用の新しいディレクトリを作成し、index.specs.ts
ファイルをテスト ディレクトリに追加します。 以下に示すように、テストディレクトリ内に、ファイル server-runs.specs.ts
を含む server
の名前で別のディレクトリを作成します。
両方のファイルにいくつかのサンプル テストを作成してみましょう。 index.specs.ts
のテストを以下に示します。
describe('test', function(){
it("testing", function(){
console.log('Looks fine')
});
})
以下に示すように、server-runs.specs.ts
にテストを作成しましょう。
describe('server checking', function(){
it("server is created without any error", function(){
console.log('Looks fine')
});
})
テストを実行して、次のコマンドでどのように機能するかを確認しましょう。
npm test
出力:
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn