使用jest-mock-extended和Spectator进行角度组件测试

Yiyi Chen

我已经成功使用jest-mock-extended来测试服务,并且对我来说效果很好。它简单,易于使用且输入安全。

现在,我必须测试Angular组件。为此,我找到了Spectator我设法使用该SpectatorHost功能为没有服务的简单组件编写了测试现在,我必须使用我应该模拟的服务来测试组件,但是我确实发现很难做到这一点。

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

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

Yiyi Chen

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

   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...         
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 jest 和 redux-mock-store 测试 redux 连接组件

开玩笑,对不同的测试使用不同的jest.mock

在Vue中使用Jest Mock测试导出的模块

如何使用 Jest Mock 模块测试 Redux Thunk 异步操作

使用Jest和Spectator用反应形式作为输入对子组件进行单元测试时,如何解决此错误?

使用Junit和Mock put请求进行测试

使用@Mock和@InjectMocks

React Native-Jest.mock必须是一个内联函数。使用“ withNavigation”的故障测试组件

使用 Jest 和 mock-fs 测试 async fs.readfile 会使测试超时,即使超时 30 秒

将Supertest与Mock-fs和Jest一起使用时无法发布数据

异步组件时使用React的Jest和酶进行测试

使用 Jest 对 ChartJS 组件进行快照测试

使用Mock测试Django命令

所有测试文件中的Jest Mock用户模块

使用Jest和Webpack别名进行测试

使用Jest测试登录组件

使用Jest测试组件失败

用sequelize-mock和Jest模拟表

Jest Mock函数和Sinon间谍有什么区别

使用 jest 进行 Redux 测试

使用Mock进行Nunit测试。接口实例

使用Google Mock进行C ++高性能单元测试?

如何在Spock中使用Mock在Grails中进行测试?

使用 redis mock 进行 Redis 单元测试

使用Mock对Laravel 5 Mail进行单元测试

使用Mock对异常片段进行单元测试

如何使用Power Mock对Spring Boot Rest Controller和异常处理程序进行单元测试

有人使用Python Zeep和Mock进行单元测试SOAP API的示例吗?

如何在 describe 或 it 块中使用 jest.mock?