打字稿unit testing文件结构

我想打字稿unit testing,我有很多关于模块input的文件结构的麻烦。 我正在使用节点typescript插件和typescript 2.0.10。

我的文件结构如下:

+ app | + models | +user.js + test | + app | + models | +user.js + src | + app | | | + models | | | | | + user.ts | + tsconfig.json + test | + app | + models | | | + user.ts + tsconfig.json 

/app/test包含用于执行的经过编译的JavaScript。

/src/app/tsconfig.json

 { "filesGlob": ["./**/*.ts"], "compilerOptions": { "noImplicitAny": true, "target": "es5", "noImplicitAny": false, "outDir": "../../public/" } } 

/src/test/app/tsconfig.json

 { "filesGlob": ["./**/*.ts"], "compilerOptions": { "typeRoots": [ "node_modules/@types" ], "noImplicitAny": false, "moduleResolution": "node", "module": "commonjs", "target": "es5", "noImplicitAny": false, "outDir": "../../../test/app/" } } 

这很好地转换成文件结构。 问题是当我从testing中的实际模型导入时,我需要3个父目录,但在最终的JavaScript中,我只需要2个父目录。 我已经尝试baseUrlpaths ,这就是为什么我使用打字机2.0.10。 他们或者什么都没做,或者把它编译到一个非常复杂的嵌套文件结构中的testing目录内的testing目录中,这个文件结构也破坏了它。 我应该如何构build这个转换和testing? 有没有更好的方式来构build这些文件? 我知道我可以使用require而不是import来从typcript中删除错误,并根据JavaScript目录导入,但是我不能使用typescript插件来查看我正在testing的types。

这是我用baseUrlpaths尝试的。 这是在/src/test/app/tsconfig.json下的/src/test/app/tsconfig.json

 "baseUrl": ".", "paths": { "models": "../../../app/models" }, 

更新:我可以通过使用相同的configuration文件的所有src工作。 如果有更好的方法,我仍然很好奇。