背景
我有一个angular4组件(MemberListComponent),在ngInit期间,将调用http GET请求通过MemberService从后端获取列表成员。返回的成员将列在表中。 MemberService被注入到MemberListComponent中并充当成员变量。
问题
现在,我想草拟一个单元测试来验证显示返回成员的正确性。我应该创建一个FakeBackend来模拟MemberService和返回的成员来测试MemberListComponent。
或者,我们是否有针对此用例的任何模式或示例。
控制单元测试执行。
我们可以使用'BeforeEach'在每个测试用例之前执行一些逻辑。 如果我想在特定测试用例之前执行某些逻辑,我们怎样才能实现呢?
非常感谢。
答案 0 :(得分:0)
您可以为您的服务创建模拟,也可以监视实际服务。请参阅有关testing a component with an async service的官方文档。
这是您监视getQuote
方法twainService
的方法
(摘自官方文档,在您的测试的beforeEach
内):
// get hold of your service instance
twainService = fixture.debugElement.injector.get(TwainService);
// on service call, return your test data
spy = spyOn(twainService, 'getQuote')
.and.returnValue(Promise.resolve(testQuote));
如果您的服务返回了Observable,则需要将Promise.resolve(...)
更改为Observable.of(...)