业力:无法读取未定义的属性 *

戴夫0688

我有一个我想测试的服务:

@Injectable()
export class AuthenticationService {
  initialAuthStatus = this.authenticationStatus.first();

  constructor(private adalService: AdalService,
              private settingsProvider: SettingsProvider) { }


  public get authenticationStatus(): any {
    return this.adalService.userInfo.authenticationStatus;
  }
}

以及对服务的测试:

describe('AuthenticationService', () => {
    let mockAdalService: any;
    let adalService: any;
    let service: any;
    let mockSettingsProvider: any;
    beforeEach(() => {
        TestBed.configureTestingModule({
          providers: [
            AuthenticationService, 
            AdalService,
            { provide: SettingsProvider, useClass: MockSettingsProvider },
            { provide: AdalService, useClass: MockAdalService }
          ]
        });

        mockAdalService = new MockAdalService();
        adalService = new AdalService();
        mockSettingsProvider = new MockSettingsProvider();
    });

    it('should be created', inject([AuthenticationService], (service: AuthenticationService) => {
        expect(service).toBeTruthy();
    }));
});

但是,测试失败并显示以下错误消息:

AuthenticationService should be created
TypeError: Cannot read property 'authenticationStatus' of undefined

它与身份验证状态的获取器有关,但我无法弄清楚它为什么会失败。

任何帮助是极大的赞赏 :)

织女星

在类的顶部,在这一行中,您声明类属性initialAuthStatus

initialAuthStatus = this.authenticationStatus.first();

this.authenticationStatus尚未初始化,为您提供错误消息。为了使它工作,将该行放在 ngOnInit() 方法中,并将纯声明部分保留在类的顶部。

initialAuthStatus;
...
ngOnInit(){
    this.initialAuthStatus = this.authenticationStatus;
}
...
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

业+茉莉+ JSON修复:无法读取未定义的属性'ajax'

来自分类Dev

业力| 离子| 未捕获的错误:未捕获的错误:未捕获(在承诺中):TypeError:无法读取未定义的属性'getToken'

来自分类Dev

无法读取未定义/未定义的属性

来自分类Dev

TypeError:无法读取未定义的属性“未定义”

来自分类Dev

业力:未定义的ReferenceError $未定义

来自分类Dev

无法读取未定义的属性“ $ valid”

来自分类Dev

无法读取未定义的属性“ ObjectID”

来自分类Dev

angularjs无法读取未定义的属性

来自分类Dev

无法读取未定义的属性“ main”

来自分类Dev

无法读取未定义的属性“ forEach”

来自分类Dev

无法读取未定义的属性“ MyProperty”

来自分类Dev

无法读取未定义的属性“ split”

来自分类Dev

无法读取未定义的属性“ $ scope”

来自分类Dev

无法读取未定义的属性“协议”

来自分类Dev

无法读取未定义的属性“ toJSON”

来自分类Dev

无法读取未定义的属性“ attr”

来自分类Dev

无法读取未定义的属性“ helpers”

来自分类Dev

无法读取未定义的属性“ setBounds”

来自分类Dev

无法读取未定义的属性“模块”

来自分类Dev

.done()无法读取未定义的属性

来自分类Dev

无法读取未定义的属性“ getTime”

来自分类Dev

无法读取未定义的属性'indexOf'

来自分类Dev

无法读取未定义的属性“ pushState”

来自分类Dev

无法读取未定义的属性“ debugHosts”

来自分类Dev

无法读取未定义的属性“ canvas”

来自分类Dev

无法读取未定义的属性“ toJS”

来自分类Dev

无法读取未定义的属性“ entityState”

来自分类Dev

无法读取未定义的属性“ displayImage”

来自分类Dev

错误:无法读取未定义的属性

Related 相关文章

热门标签

归档