Angular 角度定向单元测试中的注入服务
我试图首先修复cli为我编写的基本单元测试。我是单元测试新手,下面是代码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)
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();
}));
});
});
也许你应该从阅读答案开始,它回答了这个问题。