Angular 4/Ionic 3 - 使用 Protractor 创建模拟服务

标签 angular typescript mocking protractor ionic3

我正在尝试为我已经实现的注册页面创建端到端测试。此逻辑创建了对我的 API 的 HTTP 请求,但是,为了使测试独立,我正在尝试创建我的 AuthProvider 类的 Mock,即发出 HTTP 请求的类。

所以,按照 Proctator 文档,我有这个简单的例子:

browser.addMockModule('modName', function() {
  angular.module('modName', []).value('foo', 'bar');
});

但是,如果把它放在我的测试代码中,我会得到以下错误:

e2e/sign-up.e2e-spec.ts (23,9): Cannot find name 'angular'

这是有道理的,因为 angular 变量从未被定义过。我的问题是:如何正确定义它?为什么我要定义?还有其他替代方法来创建模拟吗?

提前致谢!

最佳答案

我遇到了同样的问题并按照此 post 解决了它.

devDependencies 下的 package.json:

"@types/angular": "^1.6.34"

spec.ts 添加了导入:

import * as angular from "angular";

关于Angular 4/Ionic 3 - 使用 Protractor 创建模拟服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46631674/

相关文章:

angular - 用 Ionic 编写文本文件?

javascript - 使 Observables 以同步和异步方式运行的方法是什么?

Typescript 我可以在函数体中使用泛型类型吗

Angular Material 选项卡 : Prevent tab change of mat-tab-group if the form in current tab is dirty

dependency-injection - 使用依赖注入(inject)模拟 C++ 类

java - 使用 Mockito 和 jUnit 为具有两个 HTTP 调用的方法编写单元测试

javascript - 从 Electron WebView 中获取选定的文本

javascript - 如何在 Angular 单元测试中创建 ArrayBuffer 变量,Jasmine/Karma

c# - 通过 NSubstitute 中的回调验证调用参数

Angular 2 : send event to child on tab change