npm lint上的“源已弃用”错误

时间:2019-01-18 03:51:09

标签: javascript angular testing

我得到“不赞成使用源代码:这是内部实现细节,请不要使用。”当我在下面的代码上运行命令npm lint时:

 set stream(source: Observable<any>) {
    this.source = source;
  }

如果我将其取出,则可以满足皮棉的要求,但会破坏我的单元测试。为什么会这样?

1 个答案:

答案 0 :(得分:0)

如果要测试效果,则需要更新方法。我已经使用了provideMockActions进行了更改,该操作将是一个let actions $:Observable;

fdescribe('PizzaEffects',()=> {         let actions $:可观察;         让服务:服务;         let效果:PizzaEffects;         const data = GivenPizzaData();

    beforeEach(() => {
        TestBed.configureTestingModule({
            imports: [ApolloTestingModule],
            providers: [
                Service, 
                PizzaEffects, 
                Apollo, 
                // { provide: Actions, useFactory: getActions }, remove
                provideMockActions(() => actions$),
            ]
        });

        actions$ = TestBed.get(Actions);
        service = TestBed.get(Service);
        effects = TestBed.get(PizzaEffects);

        spyOn(service, 'loadData').and.returnValue(of(data));
    });

    describe('loadPizza', () => {
        it('should return a collection from LoadPizzaSuccess', () => {
            const action = new TriggerAction();
            const completion = new LoadPizzaSuccess(data);
            actions$ = hot('-a', { a: action });
            const expected = cold('-b', { b: completion });

            expect(effects.getPizzaEffect$).toBeObservable(expected);
        });
    });
});