【问题标题】:Test Angular 9 (TypeScript) with Mocha and JavaScript Syntax使用 Mocha 和 JavaScript 语法测试 Angular 9 (TypeScript)
【发布时间】:2020-08-19 17:46:04
【问题描述】:

我们最近从 Angular.js 迁移到 Angular 9(Type Script),并希望继续在 Mocha 中编写测试,但保留 JavaScript 语法(而不是在 TypeScript Mocha 中编写测试)。

是否可以为 Type Script 代码编写 JavaScript 测试(我知道可以编写 JavaScript 语法,这不是我要问的) - 问题是 - 是否可以测试 Angular 的实际 TypeScript 组件?

任何指南/文章将不胜感激。

谢谢。

【问题讨论】:

  • TypeScript 基本上只是 JavaScript 之上的一个(视觉)层。要么创建 .ts 文件并编写默认 JavaScript 代码,要么创建 .spec.js 文件并编写 JavaScript。无论哪种方式,它都应该“正常工作”。如果您需要检查是否定义了设置,则 mocha 只会为您的测试加载某些扩展。
  • 我们在 .ts 文件中完全编写 TypeScript 代码。我们只希望测试使用 JavaScript(而不是 TypeScript)
  • 是的,我完全清楚这一点。正如我所说,您没有必须编写 TypeScript。 TS 只是在您的 JavaScript 代码之上添加了虚拟的输入功能。事实上,编译后它仍然是普通的 JavaScript 代码,就像以前一样容易进行类型操作。它只会在开发时帮助您。那么,如果您只是在规范中编写常规 JavaScript 代码会发生什么?
  • 好的,我现在明白你的意思了。继续使用 .ts 扩展名并在其中编写 JavaScript 代码。这正是我们需要的,谢谢。起初它不起作用,所以我想我们错过了一些配置。这就是为什么我要一些指南链接。
  • 不客气。我将发布此评论作为答案,以便我们可以关闭此问题:)

标签: javascript angular typescript unit-testing mocha.js


【解决方案1】:

所需的行为应该按您的意愿工作。

TypeScript 基本上只是 JavaScript 之上的一个(可视)层。 创建 .spec.ts 文件并编写默认 JavaScript 代码,或者创建 .spec.js 文件并编写 JavaScript。无论哪种方式,它都应该“正常工作”。 如果您需要检查是否定义了设置,则 mocha 只会为您的测试加载某些扩展。

【讨论】:

  • 我想你在这里误解了我的意思。您应该详细说明您尝试过的内容以及当时到底有什么不工作。您无需编写任何 TypeScript 即可“运行”其他 TypeScript 函数并断言其输出。
  • 我知道支持 JS 并且是 TypeScript 代码的结果。问题是,这样测试 Angular TypeScript 是否可行?
  • 是的,只需在测试中编写普通的旧 JavaScript 代码即可。如果您可以创建一个示例存储库来演示您遇到的问题,我可能会进一步帮助您。
  • 最后,我们将使用 TypeScript 语法进行测试(Mocha with TypeScript)
猜你喜欢
  • 2013-04-11
  • 1970-01-01
  • 2017-10-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 2016-04-17
  • 2016-04-22
  • 1970-01-01
相关资源
最近更新 更多