首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jest-模拟扩展和查看器进行角度部件测试

使用jest-模拟扩展和查看器进行角度部件测试
EN

Stack Overflow用户
提问于 2020-11-12 22:21:15
回答 1查看 893关注 0票数 0

我已经成功地使用了玩笑-模拟-扩展来测试服务,它对我来说很好。它简单,易于使用,类型安全。

现在我要测试角度部件。为此,我找到了观众。我成功地使用SpectatorHost特性为没有服务的简单组件编写了测试。现在我必须用我应该模拟的服务来测试一个组件,但是我真的很难去做它。

出于这个原因,我想知道是否有一种方法将用jest-mock-extended创建的模拟注入到SpectatorHost内部生成的组件中。

这样,我也会使用相同的库来模拟我的项目中的服务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-14 10:11:44

我发现了如何集成这两个库:

代码语言:javascript
复制
   describe('MyComponent', () => {
      // SpectatorHost object and factory
      let host: SpectatorHost<MyComponent>;
      const createHost = createHostFactory({
         component: MyComponent,
         mocks: [MyService], // Automatically mock service used by the component
      });

      // MockProxy object from jest-mock-extended
      let myServiceMock: MockProxy<MyService>;

      // Init and reset service before each test
      beforeEach(() => {
         myServiceMock = mock<MyService>();
         
         mockReset(MyService);
      });

      it('...', () => {
         // Mock whatever function in the service
         myServiceMock.doSomething.mockReturnValue('Mock');
         host = createHost('<my-component></my-component>', {
            providers: [{ provide: MyService, useValue: myServiceMock }] // Pass mocked service to the component
         });

         // Rest of the test...         
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64812692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档