小编rd3*_*415的帖子

在 Cypress 中剔除 Angular 服务

我有这个 angular webapp,我想在模拟的 REST API 上运行 e2e 测试。我可以很容易地将我的网络请求存根到我的 REST API,但身份验证是使用第三方提供程序(使用放大的认知)。

现在我想删除包装身份验证的 Angular 服务。

在 Angular 我有

@Injectable({
  providedIn: 'root'
})
export class AuthenticationService {
  some methods

  isSignedIn(): Observable<boolean> {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我想存根isSignedIn()- 方法。我的第一次尝试看起来像这样:

import {AuthenticationService} from "../../src/app/authentication.service";
import {BehaviorSubject} from "rxjs";

context('albums', () => {

  it('get albums', () => {
    cy.stub(AuthenticationService,'isSignedIn').returns(new BehaviorSubject(true));
  }
}
Run Code Online (Sandbox Code Playgroud)

Cypress/Chrome 然后抱怨它无法在该位置找到 AuthenticationService。我该如何解决这个问题。

typescript amazon-cognito angular cypress

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

标签 统计

amazon-cognito ×1

angular ×1

cypress ×1

typescript ×1