Angular 7 (RxJs6) - 单元测试 - 如何检查服务是否返回 throwError?

斯蒂芬·格里隆

我想要测试 throwError 部分。OK 测试正常。我想测试是否使用getById了错误的 id 0getById返回一个错误 ( throwError)

我的服务:

getById(fooId): Observable<Foo> {
  return this.getAll().pipe(mergeMap(foos => {
    const foo: Foo= foos.find(({id}) => id === fooId);
    if (foo) {
      return of(foo);
    } else {
      throwError('foo not found');
    }
  }
));

}

我的单元测试:

it('...', () => {

    service.getById(0).subscribe(() => {
      fail('expected error');
    }, (error) => {
      expect(error).toBe('foo not found');
    });

    const res= httpMock.expectOne({ url: '/api/admin/foo', method: 'GET' });
    res.flush(
      [
        {
          'id': 1,
          'name': 'foo1'
        },
        {
          'id': 2,
          'name': 'foo2'
        }
      ]);
  });

我有这个错误:

TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
斯蒂芬·格里隆

我改变

throwError('Spada not found');

经过

return throwError('Spada not found');

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 7(RxJs 6.x)-如何使用throwError

计时器触发后,如何正确调用函数的单元测试。Angular 7,RXJS 6

Angular / Jasmine单元测试中的spyService和throwError()问题;

Angular 7 Jasmine单元测试:如何获取组件NativeElement?

如何以 angular 覆盖 RxJS 主题的 Jasmine 单元测试

关于 http 服务错误的 angular 6 单元测试

MatDialog服务单元测试Angular 6错误

Angular 单元测试服务

单元测试 Angular 服务

Angular / RxJS 6-如何对next()触发的指令进行单元测试引发异常

类型具有私有属性模拟服务单元测试Angular 7的单独声明

如何使用RxJS延迟throwError?

在 angular 7 单元测试中测试转换

如何对angular7中具有@Input变量的组件进行单元测试?

如何在Angular 7(或2+)中编写文件上传方法的单元测试

如何在 angular 7 中使用 jasmine 和 karma 编写单元测试用例

使用 TranslateService 的服务的 Angular 单元测试

注入服务的 Angular 单元测试

单元测试Angular 2服务主题

Angular中的单元测试服务

Angular8服务单元测试

承诺的Angular服务单元测试失败

[Angular 7+]:如何在另一个服务规范中对服务进行单元测试?

如何对canActivate of Angular进行单元测试?

如何让Bamboo识别Angular单元测试

升级到Angular 7,rxjs6时,如何解决“ WheelEvent”类型上不存在“ Property'wheelDelta”问题?

Angular 6服务无法通过(NullInjectorError:HttpClient没有提供者!)进行单元测试

如何在 angular 6 单元测试中验证 ngCopy 方法调用

如何在Angular 6的Jasmine中对ngrx功能选择器进行单元测试?