“信任是必要的,验证也是必要的。”在谈论测试和QA时,里根总统推广的俄语习语非常适合我们的语境。每个人都信任自己,每个程序员或开发人员都信任代码。但为什么我们不能“完全信任”他们呢?因为在编程领域,一个微小的失误都会造成很大的损失,这也是我们不得不反复测试验证的根本原因之一。前端开发生态系统在不断发展,并不简单。今天的公司在招聘精通各自领域的前端开发人员时竞争非常激烈。这个错综复杂的事情每年都会变得更难。让我们来看看一些可以帮助React.js项目的工具。首先是选择一个JavaScript测试执行流程管理平台。测试执行流程管理平台是测试栈的一个组成部分。作为ReactJs开发公司开发过程的一部分,我们可以看到开发人员使用Karma同时在一个或多个浏览器中进行测试。测试执行流程管理平台可以帮助分析代码是否安全,不受浏览器怪癖的影响,并且通常比其他解决方案更值得信赖。它还可以用于配置远程服务,例如SauceLabs和BrowserStack。另一个易于使用的选项是MochaCLI。MochaCLI非常令人满意,因为它可以轻松地在Node.js环境中运行Mocha测试。遗憾的是,没有使用MochaCLI在浏览器中运行测试的机制。如果您想执行跨浏览器测试或测试重要的DOM操作,请选择Karma。或者将默认CLI与其他工具库(如Enzyme和JSDOM)结合使用。JavaScript框架确保您的测试框架支持测试异步和同步代码,并且可以轻松关闭测试。Jasmine、Mocha和Jest都满足这些要求。Jasmine是一个用于测试JavaScript代码的行为驱动开发框架;不依赖任何其他JavaScript框架,不需要DOM,语法简洁明了,可以轻松编写测试代码。下面是Jasmine的一些示例代码。Jasmine具有断言功能,称为匹配器,内置于Jasmine中。这些断言消除了覆盖外部断言库(如Chai和Should.js)的需要,并且还启用函数模拟以从范围中删除一些依赖树。Jest是Facebook的测试框架,专为React而设计。Jest很好地满足了基本的测试需求,但今天的重头戏是快照测试。它允许您序列化组件的输出并保存它,同时轻松检测序列何时更改。快照是保存到源代码管理的文本文件,并与未来运行的测试进行比较。此外,与Jasmine一样,Jest提供了基本的断言和模拟功能。回到Mocha,它专注于成为一个可靠的测试框架。看起来它没有断言库或对奇怪类型的测试。但是,它能做什么,它就做得很好。如果你选择了Mocha,那就意味着你还必须专门选择assertion库和mocking库。在这种情况下,您可能只能使用Chai和Sinon.js。有关更多选项,Mocha上有一个wiki页面,其中概述了一些常用选项。在这种情况下,如果没有特别偏好,Jest或Jasmine应该是首选。尽管Jest是一个通用的JavaScript测试框架,但快照测试功能仅限于React组件。测试插件如果你想在你的组件上执行浅层渲染和断言,你有两个选择:React-testrendererforshallowrendering。用于断言的React-test-utils。另一个选择是Enzyme,这是Airbnb的一个工具库。是为React设计的测试工具,方便判断、操作和遍历React组件的输出。另一种选择是使用Sinon.js,这是一个带有冗长断言的强大模拟库。它还提供了一个不错的时钟模拟器,可以轻松模拟AJAX请求。灵活运用这些JS测试工具,让你的项目更有说服力!
