Я использую ionic3 и пытаюсь выполнить модульный тест (используя Jasmine / karma) следующий код. Может ли кто-нибудь предложить какое-либо руководство.
createTable(databaseName: string): Promise<any> {
let sql = 'CREATE TABLE IF NOT EXISTS table)';
return new Promise((resolve, reject) => {
this.sqlite.create({
name: databaseName + '.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql(sql, [])
.then(() => {
console.info('Executed SQL');
})
.catch((e) => {
console.error('createTable Error', e.message);
reject(e);
});
});
})
}
Вот моя попытка в процессе тестирования
describe('createTable()', () => {
let db: SQLiteObject;
it('Should call function createTable', () => {
spyOn(service.sqlite, 'create').and.returnValue(Promise.resolve(
));
let databaseName = 'testDatabase';
service.createEncounterTable(databaseName);
expect(service.sqlite.create).toHaveBeenCalled();
});
});
Я получаю следующую ошибку: ERROR: 'Unhandled Promise rejection:', 'Не удается прочитать свойство executeSql из undefined и, похоже, не удается получить доступ к executeSql.
Насколько я могу судить, из-за отсутствия онлайн-ресурса по тестированию SQLite я должен предположить, что большинство людей этого не тестируют. Заранее благодарен любому руководству.