在选择 JavaScript 测试框架时,将有许多选项和不同的因素需要考虑。以下标准将对你的决定产生最大影响:
E2E 或 Unit —— 端到端框架专门用于在网站上运行整个人机交互。单元测试框架将为你提供不同的功能,因为它用于测试单个功能。
断言——每个端到端测试框架都需要一个断言库。 断言确保我们的测试返回预期的结果。 在选择框架时,你还需要有一个选择要使用的断言库以及为什么要使用它的理由。
BDD/TDD 友好—— 有些框架不像其他框架那样易于与 BDD Girken 风格语言一起使用,如果你的组织遵循某种风格,你将希望远离这些。选择 BDD 或 TDD,然后选择一个对你的团队有意义并适合你的组织流程的框架。
异步测试——在测试 JavaScript 时,重要的是要考虑异步测试和 promise。 一些框架开箱即用比其他框架做得更好,这将需要更长的时间来获得承诺。
视觉测试——有些框架比其他框架更适合视觉测试和捕获屏幕截图,有些框架实际上是开箱即用的。这将使你能够查看回归套件中的视觉差异。
CI 集成 —— 如果你的团队遵循持续集成和交付实践,那么你可能还需要一个与 Jenkins、Team City 和 Bamboo 集成的框架也就不足为奇了。 大多数 CI 系统在标准运行器上运行,因此它们与许多较大的 JavaScript 框架携手合作,以确保它们尽可能地协同工作,但你在选择时仍然需要仔细检查。
应用语言——应用语言标准最近随着 JavaScript 的动态特性而上升。 以前,测试代码和生产代码不是同一种语言是可以的。 现在,根据应用程序语言在框架中的发展方式,我们希望选择一个最适合编写我们的应用程序的实际语言的框架。
专长 —— 你可能正在寻找具有特定专长的框架。是否易于设置并开箱即用?是否有干净简单的语法?它是否与 Angular 测试或 Selenium 绑定兼容?它有很好的定制吗?它是否灵活,是否适合其他断言库、代码覆盖工具和框架?这些都是你需要与团队一起评估的考虑因素。
云支持——注意哪些框架与云提供商合作,因为不是每个框架都开箱即用。在云中运行测试将允许你提高测试覆盖率和速度,同时消除麻烦、成本和维护,因此兼容性应该是你考虑的一部分。
社区的规模 —— 社区的规模很重要,因为你可以在这里寻找答案、找到教程和文档,但这也取决于个人喜好。例如,一个框架可能很好,因为它更新了,所以有更多人在谈论它,但有些人可能更喜欢已经拥有良好社区基础和文档的更成熟的框架。