在VUE项目的开发中,大多数需求将涉及API数据交互。为了确保项目的效率,前端通常需要API服务器来确保前端开发的进展。这是So -call的模拟服务。互联网上有许多类型的模拟工具,可以使用不同的方法解决相同的问题。
主要包括两种类型:
拦截器方法的模拟工具通常用于Vue Axios型摩克适配器中,但不支持足够的API类型,例如OR。
本文使每个人都知道模拟服务沃克(MSW)。可以使用HTTP请求模拟真实HTTP请求的良好的API模拟工具,您可以使用浏览器查看,并在项目的测试代码中使用级别。为项目的HTTP响应设置其他测试。文章中涉及的代码可以指GITHUB和REST API中的列“ Evilling API”。
模拟服务工作者是一个API模拟库,使用服务工作者API拦截实际请求。— MSW文档
注意:您只能在浏览器环境中工作。
MSW取决于背景中浏览器的脚本。它完全独立于其正在处理或服务的网页。它们用作Web应用程序,浏览器和网络之间的代理服务器,以创建前端应用程序的良好离线体验。有关更多内容,请参阅“服务工人的工作原理,生命周期和使用场景”。MSW是基于缓存机制的。
为了更好地介绍MSW的使用,以下始于创建新应用程序。
使用VUE CLI创建一个新的VUE应用程序。在终端中,执行以下命令:
选择第三个选项:
返回后,选择,按空格键,然后返回:
选择 :
然后选择默认选项:
然后选择单元测试项目,选择开玩笑:
下一步继续默认选项,最后显示以下内容,输入:
创建项目完成后,由于需要使用Ajax通信,因此最熟悉的依赖项将在下面安装,如下所示:
打开项目文件,创建路径和文件,代码如下:
打开项目文件后,将默认代码替换为以下代码:
现在您可以启动项目,运行代码:
打开浏览器,输入地址,然后查看异常信息:.open开发人员工具,您可以看到界面返回状态,这是由接口引起的。
首先增加依赖项,执行命令:
安装完成后,在目录中创建一个文件夹并创建两个和谐的文件,单独用途如下:
代码显示如下:
代码显示如下:
在这一点上,模拟的逻辑基本上已经完成。接下来,您需要将其介绍给项目,修改文件并添加以下代码:
接下来,将在文件夹中生成服务工作脚本:
执行完成后,将创建一个JS文件,但无需进行任何修改并重新启动项目。效果如下:
打开开发人员工具并检查网络请求,如下:
无法在开发工具中检查由Axios Mock-Adapter实施的模拟重新开发工具。
MSW的优点在于,可以使用相同的处理代码进行测试。
该测试将使用VUE测试库(VTL),因为其设计概念与MSW更合适。该测试将模拟客户端请求。下一个修改并添加3个开发依赖性:
保存后,执行代码:
完成后,创建一个目录并创建文件。代码如下:
以上测试代码仅测试API请求请求的状态代码,并运行命令:
如上所述,MSW不仅可以用来构建模拟服务,还可以用于测试。