Page 1 of 1

使用 Angular 更轻松地进行测试

Posted: Sun Mar 23, 2025 8:01 am
by roseline371274
Angular 附带两套用于自动化测试的工具。
默认情况下,Angular 使用 Jasmine 和 Karma 进行单元测试。对于端到端测试,Protractor 是默认配置。为此您不需要做任何其他事情。 Jasmine、Karma 和 Protractor 都做了自己该做的事情。但还有其他选择吗?它们变好了还是变坏了?

单元测试:Jest
对于前端的单元测试,您有相当多的框架可供选择。在之前为客户开展的项目中,我已经对 Jest 有了很好的使用体验。而且我在 AngularConnect 会议上也听到了关于它的好故事。要在 Angular 项目中使用 Jest,您需要进行一些配置。到目前为止,这阻止了我使用它用于新项目。但我坐下来做了一些认真的研究,发现配置 Jest 相当容易。我已经在我的 github 上描述了这些步骤 。

我对 Jest 有什么经验?首先:Jest 很快!这很好,因为您希望能够经常 开曼群岛号码数据 运行单元测试。也许更好的是,Jest 可以无缝集成到 WebStorm 或 IntelliJ。您将在 IDE 中清楚地看到所有测试结果。如果您想重新运行单个测试,您可以从 spec 文件的边缘进行执行(见图)。



Jest 使用与 Jasmine 几乎相同的语法。因此,如果您了解 Jasmine 的语法,您就可以立即开始使用 Jest。只有间谍对象的语法略有不同,但这在 Jest 文档中有清楚的解释。

端到端测试:Cypress
对于端到端测试,到目前为止我主要使用量角器。量角器可以用,但是说实话我不太满意。我经常会遇到 webdrivermanager 突然出现的版本差异(如果您不知道那是什么:您真的不想知道),并且当编写和维护测试时,我经常会遇到无法正常工作的事情。