在Angular2中导出JSON模拟

在Angular2中导出JSON模拟,angular,Angular,我想在Angular2中导出一个可重用的JSON模拟(用于我的测试等) e、 g 然后我想在我的测试中导入它,例如: import { Mock } from './mock' 并使用它,例如: myData = Mock 如何实现,我需要哪些装饰程序,等等?创建一个类似这样的模拟文件- people_mock.json [ {"id": 1, "name": "Brad"}, {"id": 2, "name": "Jules"}, {"id": 3, "name": "Jeff

我想在Angular2中导出一个可重用的JSON模拟(用于我的测试等)

e、 g

然后我想在我的测试中导入它,例如:

import { Mock } from './mock'
并使用它,例如:

myData = Mock

如何实现,我需要哪些装饰程序,等等?

创建一个类似这样的模拟文件-

people_mock.json
[
  {"id": 1, "name": "Brad"},
  {"id": 2, "name": "Jules"},
  {"id": 3, "name": "Jeff"}
]
并在您的规范文件中使用

import {PEOPLE_MOCK} from './people_mock'

这里

没有任何迹象表明它应该是一个类。这是一个POJO常数。对于常数

import { OpaqueToken } from '@angular/core';

export const jsonObj = { ... };

export const JSON = new OpaqueToken('json constant');

export const JSON_PROVIDER = { provide: JSON, useValue: jsonObj };
然后可以将其添加到当前的
提供程序中
,并注入到启用DI的函数中

import { Inject } from '@angular/core';
import { JSON, JSON_PROVIDER } from '.../json';
...
providers: [JSON_PROVIDER]
...
constructor(@Inject(JSON) json) {}
嘲笑

providers: [{ provide: JSON, useValue: mockedJsonObjMock }]
如果该常量不应该被模拟并从DI中获得好处,那么只需导入/导出
json
object,然后再看看

providers: [{ provide: JSON, useValue: mockedJsonObjMock }]