当前位置: 首页 > 网络应用技术

超级尾vue项目前端自动化测试教学!

时间:2023-03-06 17:32:38 网络应用技术

  为了提高发展效率,大多数公司不需要员工为前端自动化测试编写代码。在写作和不写作之间?

  请勿编写前端自动化测试代码:

  添加自动化测试后:

  实际上,它仅用于可靠性,代码质量和维护。它作为主站自动化测试技术的前端开发人员是必不可少的。即使您不需要工作,也可以将其放入简历中。这是一个美丽的风景。

  测试分为以下两项工作:

  单位测试

  单元测试是指程序中的最小测试单元,例如测试功能,模块,组件...

  集成测试

  已测试的测试功能已被合并,以整合暴露的高级功能或类的包装,并测试执行这些功能或类。

  结束 - 到端测试(E2E测试)

  打开应用程序仿真输入,检查函数以及接口是否正确。

  但是作为前端,我们需要写什么测试?答案是:

  让您带您练习。

  我们构建一个新的VUE2项目,然后选择以下

  请注意,当我们选择选择单元测试的步骤时,请选择开玩笑:

  然后,我们选择结尾的末端:

  只需继续安装该项目,直到构建项目为止。

  单元测试是指软件中最小的测试单元以检查和验证。例如,函数。组件或功能或模块的单调测试(开发人员知道特定逻辑)

  当该项目较早建立时,提到了开玩笑。实际上,在Vue中,建议?摩卡+柴或开玩笑进行单位测试,但让我们用嘲笑来证明它。两者的语法基本上是引起的。

  在SRC目录中创建UTILS目录,然后在UTILS下创建index.js,然后编写一个添加函数导出:

  在示例中修改测试单元下的spec.js(当然,您还可以创建一个新的*.spec.js,固定格式文件)

  实施:

  显然,“ 1” + 2不是3,因此测试是错误的。

  在这种情况下,我们使用了4个API。

  Tobe:比较???的比较

  在组件下创建一个新的Zhifeiji.Vue文件:

  在视图目录中的家庭组件中的引言:

  在测试目录中的单元目录中创建zhifeiji.spec.js:

  如果您测试用户交互,则需要使用官方 @vue/test-utils执行CNPM I @Vue/test-utils-Save。

  在@vue/test-utils中介绍更换VUE的$安装是因为$ sount是虚拟的,有虚拟内存,并且无法处理DOM,因此请使用MONT(对,对吗?)

  如果是在这里,则应对我的VUE组件进行测试。执行它:

  开玩笑的带带j j J,如果使用了摩卡咖啡,则需要使用伊斯坦布尔来计算覆盖范围。(所以我建议开玩笑)

  这显然是不一致的,并且需要更改为正确的“ 12”。更改命令后,再次执行命令。

  这是通过的,但是似乎无法直观地看到覆盖范围,所以让我们在package.json中的玩笑中修改开玩笑。在下图的位置:

  改成:

  如果有jest.config.js,然后在ModuleFileextensions上加入一行,此文件是开玩笑的配置(无需更改):

  更改后,让我们再次执行下一个订单,

  在这一点上,我们可以清楚地看到测试的覆盖范围!此覆盖范围将产生报告。生成的报告文件在覆盖范围目录中。当您打开它时,您会看到这样的幽灵:

  这样,测试代码的覆盖范围是一目了然。

  该测试报告可以非常精确地查看我们尚未测试以及哪些测试。

  我在Zhifeiji中添加了一些东西,而无需测试。让我们看一下结果:

  上述代码中的MSG2未测试。执行测试命令以查看报告:

  在此期间,可以看到红色框架部分。我们可以单击主蓝色。

  当您逐步进入时,您将进入经过测试的代码文件。

  安装沙哑:

  配置沙哑,在包装中配置它。JSON:

  当然,这是文档上的一个情况,我们更改了:

  代表提交了NPM运行测试:提交(提交)之前。

  验证测试代码文件zhifeiji.spec.js:因为:

  改成:

  该测试绝对不会通过。

  目前,测试未通过,让我们再次提交代码,然后在添加后提交:

  可以看出,该提交失败了,并且没有通过!

  提示:如果您配置了沙哑的情况,以使沙哑不生效,请减少沙哑的版本或使用新的沙哑方法。Husky在6.0.0开始时使用了一种新的配置方法。请参阅本文:https://blog.csdn.net/mrweb/article/details/1198786888

  目前,如果我们希望他通过,我们必须更改代码并使其正确提交。这是一个安全可靠的代码。

  修改操作:1。在测试目录中的e2e中评论test.js,e2e我们将稍后交谈

  2. 3在threeample.spec.js中修改为'12'3.zhifeiji.spec.js aftermountd1已恢复到后面

  在这三个步骤之后,即使我们解决了测试错误,也要提交:

  该代码已成功提交!

  E2E的目标是测试人员的角度。没有安装载荷,只有按钮页,输入框,文本,等等。

  通过借用浏览仪器的能力,从家庭测试的角度站立,失去框架,单击按钮等,完全模拟用户。这与特定框架无关。

  视图下的家庭组件:

  相关代码恢复。在测试目录下的规格下查看test.js,有这样的段落:

  恢复CY评论。

  这是测试代码。如果我们不进行以前的恢复操作,则测试绝对不会通过

  执行和测试

  该项目将启动,并将弹出一个带有OK的弹出窗口。我们将直接确定将有测试文件的JS。选择要单击的相应测试文件:

  这意味着测试通过了!

  让我们测试一个关于页面:

  提示:如果未批准“关于页面测试”,请将路由模式更改为历史记录或更改测试文件test.visit('of of of')cy.visit('#/of of tod')

  后来测量的,终于打开了大约页面,也停留在有关页面上

  这些是页面上特定元素的文本的测试,所以让我们尝试进行交互。我们的Zhifeiji组件有一个点击事件。咱们试试吧:

  左侧的一个可以单击并单击不同的项目以输入不同的事件。例如,我订购了包含,文本已单击。

  外词:测试页面之前和之后的差异,或者可以通过页面监测器使用两页之间的差异;地址:https://github.com/fouber/page-monitor

  好吧,这是前端自动化测试。