如何模拟您的整个后端服务器?

这是关于为测试目的模拟数据系列的最后一篇文章。到目前为止,我们已经看到了如何使用Mockaroo生成模拟数据然后如何将这些虚假数据整合到Angular应用中呢

今天,让我们更进一步,使用相同的JSON数据模拟整个后端服务器,包括CRUD (CReate Update Delete)操作,因此还可以测试数据更新。

输入JSON服务器

JSON服务器是一个小的npm库,读取JSON文件,并自动将其转换为RESTful web服务器.是的,你没有看错:我们所需要的输入就是文件中的JSON数据!

JSON的格式是一个单独的对象,其中每个属性都将转换为后端端点。例如,你需要支持两种类型的数据:用户而且团队

然后你的JSON数据库将是这样的:

              
              
“用户”:【//所有用户数据的数组),“团队”:【//所有团队数据的数组]}
代码语言:JSON /带有注释的JSONjson

你可以用Mockaroo生成的模拟数据替换这些数组,然后运行JSON服务器会给你以下RESTful API:

  • HTTP GET /users=>返回所有用户的列表
  • HTTP GET /users/21=>返回用户Id = 21
  • HTTP POST /user=>创建新用户
  • HTTP DELETE /user/21=>删除用户Id = 21
  • HTTP PUT /user/21=>更新用户Id = 21

JSON服务器也支持分页全文搜索,定制的路线如果您希望向测试后端添加更多端点。对数据所做的任何更改也会保留在JSON文件中。这意味着您有一个用于测试的单一文件数据库,这非常棒!

如果你想试试,这里有一个完整的关于如何在Angular应用中使用JSON服务器的教程.的开始NPM包的一部分也有很好的文档记录。

如何在你的Angular应用中使用模拟数据?

我们上一期的时事通讯如何为Angular应用生成模拟数据Mockaroo。

今天,我们将介绍如何在我们的应用程序中使用这些数据,以便:

  • 作为一个临时的后端实现,这样你就可以在后端API准备好之前构建你的Angular组件。
  • 使用该数据作为单元测试的模拟。

在Angular应用中使用硬编码数据

假设我们需要在组件中显示用户列表,但后端还没有准备好该数据,或者我们想尝试使用假数据。我们转向Mockaroo,生成一个包含100个用户的JSON文件,然后复制粘贴该JSON字符串并将其分配给代码中的一个常量(例子-这篇文章剩下的所有链接都指向提到的文件的源代码):

然后,我们希望使用服务访问这些数据。我们已经有了UserService这是使用我们的后端,但我们想用我们的假数据替换那个调用:

所以我们生成了一个新的FakeUserService它的形状和UserService,但返回一个自定义的Observable的模拟数据,而不是发出HTTP请求:

最后,我们改变了依赖注入配置AppModule以便应用程序使用FakeUserService而不是UserService