2017-10-20 2 views
0

WebStorm IDEを使用してtypescript(ES6)でテストを書き込もうとしています。例えば:WebStorm IDEはasync() =>WebStorm、ES5/ES3の非同期関数またはメソッドで 'Promise'コンストラクタが必要です

TS2705で次のエラーを示しているが

// Imports... 

describe('Message',() => { 
    const server = express(); 
    server.use(bodyParser.json()); 

    const messageService = { findAll:() => ['test'] }; 

    beforeAll(async() => { 
     const module = await Test.createTestingModule({ 
      modules: [MessageModule], 
     })... 
    }); 

    // Tests... 
}); 

:ES5/ES3で非同期関数またはメソッドがプロミス コンストラクタを必要とします。 Promise コンストラクタの宣言があるか、--libオプションにES2015を含めるようにしてください。

マイtsconfig.json

{ 
    "compilerOptions": { 
    "module": "commonjs", 
    "declaration": false, 
    "noImplicitAny": false, 
    "removeComments": true, 
    "noLib": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "target": "es6", 
    "sourceMap": true, 
    "allowJs": true, 
    "outDir": "./dist" 
    }, 
    "include": [ 
    "src/**/*" 
    ], 
    "exclude": [ 
    "node_modules", 
    "**/*.spec.ts" 
    ] 
} 

私はts An async function or method in ES5/ES3 requires the 'Promise' constructorを読んで、それがどんな効果を持っていないしかし

"lib": [ "es2015" ] 

を追加してみました。どのようなアイデアが間違っている?

答えて

4

"lib": [ "es2015" ] 

にtsconfig.jsonを追加すると、問題を修正する必要があります。 しかし、あなたの仕様ファイルは、tsconfig.json(チェック"include":[]"exclude":[]の値)には含まれていないようです。そのため、Typescriptサービスでは、ファイルに別のtsconfig.jsonを使用している必要があります(の場合、仕様を含むファイルtsconfig.jsonファイルが見つかりません) 問題を解決するには、あなたの仕様ファイルの処理に使用されるconfig内のlibプロパティは、

+0

が含まれています/除外が問題でした、ありがとうございました:) –

関連する問題