我有这个 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。我该如何解决这个问题。