Testing 如何在angular 5中添加要测试的表单

Testing 如何在angular 5中添加要测试的表单,testing,angular5,Testing,Angular5,我在angular 5中创建了一个应用程序。现在我想添加一些测试 目前,几乎所有的规格都不合格,尽管我甚至没有添加任何东西 对于我的第一部分,它说: 无法绑定到“formGroup”,因为它不是“form”的已知属性 如何在组件中注入必要的依赖项 现在我有这个: beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ LoginComponent ], provi

我在angular 5中创建了一个应用程序。现在我想添加一些测试

目前,几乎所有的规格都不合格,尽管我甚至没有添加任何东西

对于我的第一部分,它说: 无法绑定到“formGroup”,因为它不是“form”的已知属性

如何在组件中注入必要的依赖项

现在我有这个:

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ LoginComponent ],
      providers: [{
        provide: Router,
        useClass: class { navigate = jasmine.createSpy("navigate"); }
      }, AuthentificationService, NotificationService, FormBuilder]
    })
    .compileComponents();
  }));
这是组件的构造函数:

 constructor(private router: Router, private auth: AuthentificationService, private ns: NotificationService, private fb: FormBuilder) {}
目前,几乎所有的规格都不合格,尽管我甚至没有添加任何东西

好像你在用或之类的东西

对于我的第一个组件,它说:不能绑定到“formGroup”,因为它不是“form”的已知属性

类似这样的操作应注意此特定错误,请注意声明后的imports语句:

 beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ LoginComponent ],
      imports: [ReactiveFormsModule], 
      providers: [{
        provide: Router,
        useClass: class { navigate = jasmine.createSpy("navigate"); }
      }, AuthentificationService, NotificationService, FormBuilder]
    })
    .compileComponents();
  }));
当然,您还必须将其添加到文件级别的导入中,但似乎您已经获得了这些详细信息