如何模拟 JSON 响应以在角度 4 项目中进行测试



我想使用所有模拟 JSON 运行我的应用程序,以避免依赖 Web 服务。在本地模拟 JSON 的理想方法是什么,以便通过最小的更改而不是调用实际服务,它应该从本地文件获得响应。我有一个文件夹,我在其中保存了所有模拟 JSON 文件。

我曾经像你一样通过保留本地 JSON 文件来嘲笑。但问题是你只能使用GET方法,而不能使用其他HTTP方法,如post或put。我最终使用像 https://www.mocky.io 和 https://www.owllang.com 这样的网站 来模拟我的 API。这样在我的代码中,我只需要更改 URL,一切都是一样的。我也可以使用任何我想要的HTTP方法。希望这有帮助。

我在我的应用程序中使用了以下方法:创建一个名为"API"的文件夹,其中包含 JSON 文件。每个 JSON 文件表示一个http.get调用。

例:

在 API 服务中,创建一个名为mock的数据成员:

private mock = false;

假设您有一个用于接收人员列表的 API。将真实响应复制到 JSON 文件(例如people.JSON(并将其保存在模拟数据文件夹中,如api.

当您想在不访问真实 API 数据的情况下运行应用时,请将mock设置为true;

private mock = true;

和功能:

getPeopleList() : Observable<any> {
var endpoint = this.myEndpoint; // Your real API url
if(this.mock) {
endpoint = '/api/people.json';
}
return this.http.get(endpoint)
.map(this.extractData)
.catch(this.handleError);
}

希望这就是你的意思。

最新更新