javascript - npm lint 上可观察到的 "source is deprecated"错误

标签 javascript angular testing

我收到“源已弃用:这是一个内部实现细节,请勿使用。”当我在下面的代码上运行命令 npm lint 时:

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

如果我将其取出,它会满足 lint,但会破坏我的单元测试。这是为什么?

最佳答案

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

fdescribe('PizzaEffects', () => { 让行动$:可观察的;; 让服务:服务; 让效果: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);
        });
    });
});

关于javascript - npm lint 上可观察到的 "source is deprecated"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54247522/

相关文章:

javascript - 累积的 jQuery 函数

javascript - JS如何改变构造函数值

javascript - 是否可以让 <h1> 标签自动聚焦?

html - 如何实现 Angular 2 fullpage.js scrolloverflow

javascript - 路由到 Angular 2 中的特定 Id 路径

javascript - Web 应用程序中的自动化测试

javascript - 如何停止图片的幻灯片放映?

javascript - HTML 中的 Angular 6 如果字段未定义则显示不适用

python - 在python中完成测试后如何删除测试文件?

testing - 如何协调跨多个 Scrum 团队的测试