我是 TypeScript 的新手,正在尝试为我的 TypeScript 代码库设置一些单元测试。问题是我的代码依赖于其他人的工作,所有这些引用都是以硬编码相对路径的形式完成的,例如“......\somefile.d.ts”。进行单元测试时,我想伪造一些依赖项,但不知道如何让 TypeScript 使用我的伪造而不是硬编码的引用文件。
我的问题是:有没有办法不在源代码中硬编码引用路径? TypeScript 中是否有预处理器或宏之类的东西,或者我可以使用项目系统来帮助解决依赖关系,而不是在源代码中对它们进行硬编码?
最佳答案
查看 grunt-ts 引用文件生成:https://github.com/basarat/grunt-ts#reference-file-generation
你可以做的是有单独的目标,一个用于开发,一个用于测试:
dev: {
src: ["app/**/*.ts", "!app/**/*.spec.ts"], // Exclude your spec files
reference: "./app/reference.ts",
out: 'app/out.js',
},
test: {
src: ["app/**/*.ts"], // Include all files
reference: "./app/reference.ts",
out: 'app/out.js',
},
现在您只从所有文件中引用 app/reference.ts
。当你想运行测试时,为测试构建,当你想要发布/开发时为开发构建。
关于typescript - 更好的 typescript 文件引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18411554/