如何在Angular 2.0中的testModule中导入指令

时间:2016-09-28 15:04:04

标签: unit-testing angular

我正在尝试这样

TestBed.configureTestingModule({    
               declarations: [MyDirectiveName]
      });

但它不起作用,我收到错误,无法创建组件实例,因为它未在TestModule中导入

有类似的东西吗?

TestBed.configureTestingModule({
   directives :[MyDirectiveName]
  })

1 个答案:

答案 0 :(得分:0)

尝试使用TestBed.createComponent(Directive)创建指令并不起作用。该方法仅适用于组件创建。我通常只是创建一个虚拟测试组件,并将该指令添加到该组件的模板中。这也是the documentation

中推荐的方式
@Component({
  template: '<div your-directive></div>'
})
class TestComponent {}

TestBed.configureTestingModule({
  declarations: [YourDirective, TestComponent]
});

fixture = TestBed.createComponent(TestComponent);