私は次のように区切られたソースコードとテストを持っている:テストをmochaおよびts-nodeとは別のディレクトリに配置していますか?
`src/main/ts/hello.ts` //SOURCE FILES HERE
`src/test/ts/hello.spec.ts` //SPEC FILES HERE
src/test/ts/hello.spec.ts
でimport文は次のようになります。
import hello from 'hello';
hello.ts
ソースコードは次のようになります。
export function hello() {
return 'Hello World!';
}
export default hello;
私のtsconfig.json
は、テストファイルが相対paを使わずにソースモジュールをインポートできるように設定されていますこのようなTHS:
{
"include": [
"src/main/ts/**/*.ts"
],
"exclude": [
"node_modules"
],
"compilerOptions": {
"experimentalDecorators": true,
"noImplicitAny": true,
"moduleResolution": "node",
"target": "es6",
"baseUrl": ".",
"paths": {
"*": [
"*", "src/main/ts/*"
]
}
}
}
hello.spec.ts
ファイルは、私はこのようなモカとtsnodeを実行するように設定npm test
でテストを実行しようとしているimport hello from 'hello';
ステートメントを使用してhello
をインポートすることができますこの方法(this articleに基づきます) :
"scripts": {
"test": "mocha -r ts-node/register src/test/ts"
},
しかし、私はこのエラーを取得するようTS-ノードが私のtsconfig.json
構成に拾っているようには見えません。
tsconfig.json
に
paths
を介して設定さ
mocha -r ts-node/register src/test/ts
Error: Cannot find module 'hello'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)