実行中(コマンドnpm run test
を使用し、デバッグにはIDE Webstorm
を使用しています) typescript、mocha、chai、およびsupertestで書かれた.jsは、typescriptを使用して開発されたノードアプリケーション用です。非同期/待機ノードapi-functionsのtypescript、Mocha、Chai、SuperTestを使用してnodeJsを使った統合テストを実行またはデバッグ
before()フック関数では、実際にサービスを開始するアプリケーションを呼び出しています。この呼び出しは、非同期(async-await)関数(ノードアプリケーションのapp.ts/app.jsファイル)。
しかし、常に私のようなエラーを取得しています:(すなわち、サービスに)「エラーあなたは、Google KMSでキーにアクセスする権限がありません」とプラスそれはエラーを言った:60000msのタイムアウトを超えました。非同期テストとフックでは、 "done()"が呼び出されていることを確認してください。プロミスを返す場合は、それが解決することを確認してください。 'ですが、サービス/アプリケーションを個別に実行しても問題なく動作しています。つまり、サービスを実行している間は、API /関数呼び出しのasync/awaitコードは同じです。
これは、before()フック関数からサービスを開始している間に非同期/待機要求がタイムアウトしたためです。以下は
誰がこのような状況に直面することはできますか?package.json
"scripts": {
"test": "nyc --reporter=html --reporter=text --reporter=cobertura node_modules/mocha/bin/_mocha --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporters.config build/test/test.int-test.js"
}
で
import {expect} from "chai";
const app = require('../app');
const supertest = require('supertest');
describe("Test model", function() {
this.timeout(60000);
before(async() => {
api = supertest(await app);
// app is here a entry point for my service/application which runs actually service/applicaiton.
// This file has async-await function which makes call to third party application
console.log('inside before: ', JSON.stringify(api));
});
describe('get', function() {
it('should respond with 200 Success', async() => {
// call to async function
});
});
});
とセクションスクリプトの下で、test.int-test.tsファイル内のコードサンプルですか統合テストファイルから非同期/待機サービスを開始する方法。