Angular 4 / Ionic 3 - 使用量角器创建模拟服务

Posted

技术标签:

【中文标题】Angular 4 / Ionic 3 - 使用量角器创建模拟服务【英文标题】:Angular 4 / Ionic 3 - Creating a Mock Service with Protractor 【发布时间】:2018-03-19 18:59:05 【问题描述】:

我正在尝试为我已经实现的注册页面创建端到端测试。这个逻辑创建了一个对我的 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 变量。我的问题是:如何正确定义它?为什么我必须定义?还有其他方法可以创建模拟吗?

提前致谢!

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,并通过关注post 解决了它。

devDependencies下的package.json:

"@types/angular": "^1.6.34"

spec.ts 添加了导入:

import * as angular from "angular";

【讨论】:

以上是关于Angular 4 / Ionic 3 - 使用量角器创建模拟服务的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 4 迁移:Ionic 3 生命周期事件/导航守卫的 Angular 等价物是啥?

Angular 4 Web 应用程序到 Ionic 3 应用程序

IBM MobileFirst 8 是不是支持 Ionic 3 和 Angular 4

离子切换按钮不显示正确的切换 - Ionic 3,Angular 4

无法将组件加载到页面中 - Angular 4/Ionic 3

在 ionic 4 上使用 Angular 7 帖子时出现 Cors 策略错误