Я реализовал Жасмин / Карму в своем угловом веб-приложении.
Когда я делаю тест, я продолжаю получать ошибку из-за firebase.
Я получаю сообщение об ошибке: «Не удается прочитать свойство firestore из неопределенного»
Это моя ошибка->
введите описание изображения здесь
Это мой конфигурационный файл для кармы
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
Так настроен мой тестовый файл. Я сделал это очень просто, и еще не сделал ни одного теста
describe('FirebaseService', () => {
beforeEach(() => TestBed.configureTestingModule({
providers:[ { provide: AngularFireAuth }, { provide: AngularFirestore
}]
}));
it('should be created', () => {
const service: FirebaseService = TestBed.get(FirebaseService);
expect(service).toBeTruthy();
});
});
Мой сервис Firebase
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import { User } from 'src/app/user/user';
@Injectable({
providedIn: 'root'
})
export class FirebaseService {
dbUser;
dbUserDoc;
constructor(private db: AngularFirestore) {
db.firestore.settings({ timestampsInSnapshots: true, });
}
addCompetitionIdToUser(compId, uId) {
const userRef: AngularFirestoreDocument<User> =
this.db.doc(`users/${uId}`);
userRef.update({
competitionIds: compId
});
}
}