【问题标题】:I can't get FormBuilder from TestBed with FormsModule, ReactiveFormsModule imported我无法从 TestBed 获取 FormBuilder 并导入 FormsModule、ReactiveFormsModule
【发布时间】:2017-08-25 04:01:50
【问题描述】:
TestBed.configureTestingModule({
    imports: [
        FormsModule,
        ReactiveFormsModule,
    ]
});

TestBed.get(FormBuilder);

我需要做什么?还是我应该只使用 new 运算符来创建一个?

【问题讨论】:

    标签: forms angular testing dependency-injection


    【解决方案1】:

    不,you can

    describe('FormBuilder', () => {
      let fb;
    
      beforeEach(() => {
        TestBed.configureTestingModule({
          imports: [
            ReactiveFormsModule
          ]
        });
    
        fb = TestBed.get(FormBuilder);
      });
    
      it('should be FormBuilder instance', () => {
        expect(fb instanceof FormBuilder).toBe(true);
      });
    });
    

    正如here 解释的那样,TestBed.getinject 帮助器相同,它在第一次调用时创建一个注入器并获取提供程序实例。

    FormsModuleReactiveFormsModule 是互斥的,不应该一起使用,但这不应该影响结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2021-12-25
      • 2017-01-25
      • 2021-01-31
      • 1970-01-01
      • 2021-06-22
      相关资源
      最近更新 更多