[英]How to do a unit test for Http get MockBackend in Angular2?
[英]How do I use mockfirebase for my angular2 typescript unit test?
您如何使用模擬firebase模擬firebase進行firebase單元測試?
我正在為此單元測試使用打字稿和angular2。
這是我要從firebase更改為模擬firebase的測試之一:
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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.