代码之家  ›  专栏  ›  技术社区  ›  nikagar4

角指令单元测试中的注入服务

  •  0
  • nikagar4  · 技术社区  · 6 年前

    我正在尝试首先修复cli为我编写的基本单元测试。我是单元测试的新手,下面是代码

    import { MyDirective } from './my.directive';
    
    describe('MyDirective', () => {
      it('should create an instance', () => {
        const directive = new MyDirective(); // it throws error here
        expect(directive).toBeTruthy();
      });
    });
    

    1 回复  |  直到 6 年前
        1
  •  4
  •   Tauras Alexander Belov    4 年前

    我在解决问题的过程中浪费了几个小时。这是答案。例如,我们需要注入ElementRef和NgControl:

    import { inject } from '@angular/core/testing';
    import { ElementRef } from '@angular/core';
    import { NgControl } from '@angular/forms'
    import { MyDirective } from './my.directive';
    
    describe('MyDirective', () => {
      it('should create an instance', inject([ElementRef, NgControl], (elementRef: ElementRef, ngControl: NgControl) => {
          const directive = new MyDirective(elementRef, ngControl);
    
          expect(directive).toBeTruthy();
        }));
      });
    });