小编Coo*_*sec的帖子

Angular 4 测试:带注入的 fakeAsync

我正在尝试使用在构造函数中调用并包含可观察的私有方法来测试服务:

import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/interval';

@Injectable()
export class SomeService {

  private booleanValue: boolean = false;

  constructor() {
    this.obsMethod();
  }

  private obsMethod() {
    Observable.interval(5000).subscribe(() => {
      this.booleanValue = !this.booleanValue;
    });
  }

  public getBooleanValue() {
    return this.booleanValue;
  }
}
Run Code Online (Sandbox Code Playgroud)

我准备了三个规格。首先是使用new运营商创建的简单服务实例。它有效。二是TestBed.get()注射。它也有效。

当我injectbeforeEach规范中使用时不起作用。但为什么?同时使用fakeAsyncinject使用有问题吗?我怎样才能同时使用它们?

我使用服务和三个规范在 plunker 上创建了工作演示。

https://embed.plnkr.co/dw6tCGXH6LWlJuqNuQl8/

testing inject jasmine angular

1
推荐指数
1
解决办法
2729
查看次数

标签 统计

angular ×1

inject ×1

jasmine ×1

testing ×1