相关疑难解决方法(0)

在Angular 2 ngOnInit中测试承诺

我有一个Angular 2组件我试图进行测试,但是我遇到了麻烦,因为数据是在ngOnInit函数中设置的,所以在单元测试中不能立即使用.

用户view.component.ts:

import {Component, OnInit} from 'angular2/core';
import {RouteParams} from 'angular2/router';

import {User} from './user';
import {UserService} from './user.service';

@Component({
  selector: 'user-view',
  templateUrl: './components/users/view.html'
})
export class UserViewComponent implements OnInit {
  public user: User;

  constructor(
    private _routeParams: RouteParams,
    private _userService: UserService
  ) {}

  ngOnInit() {
    const id: number = parseInt(this._routeParams.get('id'));

    this._userService
      .getUser(id)
      .then(user => {
        console.info(user);
        this.user = user;
      });
  }
}
Run Code Online (Sandbox Code Playgroud)

user.service.ts:

import {Injectable} from 'angular2/core';

// mock-users is a static JS array
import {users} from …
Run Code Online (Sandbox Code Playgroud)

jasmine angular

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

angular ×1

jasmine ×1