如何使用mockbfirebase进行angular2打字脚本单元测试
How do I use mockfirebase for my angular2 typescript unit test?
如何使用mockfirebase进行firebase单元测试?
我在这个单元测试中使用了typescript和angular2。
这是我的一个测试,我想把它从firebase:改为mockbfirebase:
import { it, iit, describe, expect, inject, injectAsync, beforeEachProviders, fakeAsync, tick } from 'angular2/testing';
import { FirebaseService } from '../app/firebase-service';
describe('Firebase Service Calls', () => {
it('log out user from Firebase', () => {
let ref = new Firebase("https://markng2.firebaseio.com");
let service = new FirebaseService();
spyOn(service.ref, 'unauth');
service.logOut();
expect(service.ref.unauth).toHaveBeenCalled();
})
});
我想更改这一行:"let ref=new Firebase("https://markng2.firebaseio.com");"
与Firebase
类/函数一样,MockFirebase
在window
上可用。
您可以在beforeEach
函数或夹具中使用MockFirebase.override()
。
describe('Firebase Service Calls', () => {
beforeEach(() => MockFirebase.override());
it('log out user from Firebase', () => {
let ref = new Firebase("https://markng2.firebaseio.com");
ref.unauth();
ref.flush(); // flush out the async action
expect(ref.getUser()).toEqual(null);
});
});
当用户通过身份验证时,调用ref.getUser()
将返回当前用户。当用户注销时,上面的测试检查ref.getUser()
的返回值是否为null。
查看有关身份验证和MockFirebase的文档。
相关文章:
- 我的单元测试选项是什么
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 使用量角器的当前url单元测试的getTitle
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- AngularJS指令单元测试中未定义的函数
- 如何在ember单元测试中模拟_super()方法
- 单元测试依赖关系没有被嘲笑
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 在node.js中编写单元测试的最佳方式是什么
- Ng点击-如何进行行为单元测试
- Jasmine单元测试在监视服务方法时失败
- Angular 2和服务单元测试
- 在我的目录结构中,将单元测试助手源文件放在哪里
- 如何对CSS transitionEnd事件后执行的JavaScript进行单元测试
- 对指令进行单元测试,该指令的模板都是带有带有脚本标记的文件
- 如何使用mockbfirebase进行angular2打字脚本单元测试
- Java脚本单元测试- CRM 2016在线
- 在Android的单元测试中,使用java脚本从WebView中获取内容
- 改变DOM——如何编写一个单元测试来检查脚本是否对页面上的元素进行任何用户可见的更改
- 如何对Adobe扩展脚本进行单元测试