【发布时间】:2020-12-04 05:17:53
【问题描述】:
在一个 Web 项目中,TypeScript 用于对整个应用程序、前端和后端以及测试进行编程。然后全部编译部署为 JavaScript;
在部署期间运行测试需要什么。直接在 TypeScript 源代码上运行它是否更有意义?还是在生成的 JavaScript(稍后部署到服务器)上运行它更有意义
请记住,根据运行它的具体情况,它对代码覆盖率报告等内容有一些小的影响。
一种思路是在 TypeScript 源代码上运行它,因为这是程序员正在生成的并且可以直接控制的内容。
另一方面,在部署后最终运行的是 JavaScript 生成的代码。
这有公认的模式吗?
【问题讨论】:
-
测试TS源代码。您说 JS 生成的代码是最终运行的 - 但生成的 JS 代码也是 TS 测试套件最终测试的。测试的反馈也将适合您的 TS 代码(例如,指向 TS 文件中的行而不是无法识别的编译 JS 代码)。您无法可靠地测试已编译的 JS 代码,因为您无法保证编译的内容(例如符号名称)在不同版本的 TS 或 tsconfig.json 设置之间保持不变。预编译然后测试编译后的代码确实没有任何(明显的)好处。
-
测试通常使用与测试内容相同的语言编写。考虑到测试也将被编译。假设编译器是完美的。
-
谢谢大家,我很惊讶你没有把它作为答案,这样你就可以得到荣誉。
标签: javascript typescript testing mocha.js continuous-deployment