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

MSW:可用于浏览器和测试的模拟服务

时间:2023-03-06 11:27:30 网络应用技术

  在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不仅可以用来构建模拟服务,还可以用于测试。