Angular2无法从模拟服务返回项目

时间:2018-05-21 08:48:22

标签: angular typescript

您好我正在为Angular5应用程序编写单元测试用例。我正在调用一个函数loadscopesdata(),如下所示。

loadScopesData() {
        this.scopeService.getScopesByTenantId(this._searchText, this._onlyActive).subscribe(results => this.onScopesDataLoadSuccessful(results), error => this.onScopesDataLoadFailed(error));
    }

在服务之下打电话。

getScopesByTenantEndpoint<T>(searchText: string, onlyActive: boolean): Observable<T> {
        var scopes = localStorage.getItem('scopeObject');
        if (scopes) {
            return Observable.create(scopes);
        }
        else {
            return Observable.empty();
        }
    }

每当执行上面的代码时,它总是将控制返回到onScopesDataLoadFailed。有人可以帮我搞清楚吗?谢谢。

1 个答案:

答案 0 :(得分:0)

afaik Observable.create主要用于告诉如何将价值传递给订阅者,您已经拥有自己的价值并且不想处理某些特殊情况,因此您可以尝试简单地使用{{1}而不是。

[使用Observable.create()]

return Observable.of(scopes)