Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度定向单元测试中的注入服务_Angular_Unit Testing_Dependency Injection_Karma Jasmine_Angular Directive - Fatal编程技术网

Angular 角度定向单元测试中的注入服务

Angular 角度定向单元测试中的注入服务,angular,unit-testing,dependency-injection,karma-jasmine,angular-directive,Angular,Unit Testing,Dependency Injection,Karma Jasmine,Angular Directive,我试图首先修复cli为我编写的基本单元测试。我是单元测试新手,下面是代码 import { MyDirective } from './my.directive'; describe('MyDirective', () => { it('should create an instance', () => { const directive = new MyDirective(); // it throws error here expect(directive)

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

import { MyDirective } from './my.directive';

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

我需要在MyDirective中注入ElementRef

我在解决问题的过程中浪费了几个小时。这是答案。例如,我们需要注入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();
    }));
  });
});

也许你应该从阅读答案开始,它回答了这个问题。