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

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

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

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

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

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

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

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

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

现在,我们AppComponent相信它在使用一个真实的UserService,但实际上得到了一个FakeUserServiceAngular注入器:

这种方法的优点是不需要更改任何组件。要更改以启用/禁用模拟数据的惟一代码行是供应商配置在AppModule.就是这样!您可以访问Stackblitz这个例子的完整代码

在单元测试中使用相同的硬编码数据

一旦您遵循上述方法,在单元测试中使用这些数据将非常相似。我们可以重复使用FakeUserService通过配置Angular试验台在我们的单元测试中如下:

betway必威滚球

Alain是谷歌开发专家,擅长Web技术、Angular和谷歌地图。他的日常任务是帮助开发团队采用Angular,并使用该框架进行大规模构建。他在六大洲都教授过Angular !阿兰是一名世界旅行家和摄影师,也是国际会议的演讲者,并出版了几门视频课程。