Я хочу добавить несколько тестовых примеров для своего приложения angularjs специально для службы базы данных.Единичные тесты AngularJS для службы базы данных
Ну, проблема в том, что я не могу открыть базу данных в своем модульном тесте.
Мой TestCase выглядит следующим образом:
describe("DatabaseCreateService‚", function() {
var DatabaseCreateService,cordovaSQLite;
beforeEach(module("starter.services"));
beforeEach(module("ngCordova"));
beforeEach(module("ionic"));
beforeEach(inject(function (_DatabaseCreateService_, $cordovaSQLite) {
DatabaseCreateService = _DatabaseCreateService_;
cordovaSQLite = $cordovaSQLite;
}));
it("should create the table cg_local_values", function() {
var db = DatabaseCreateService.initDB("Test.db");
expect(db).toBeDefined();
});
});
Моя фабрика выглядит следующим образом:
var initDB = function(dbName) {
$ionicPlatform.ready(function() {
if (window.cordova) {
db = $cordovaSQLite.openDB(dbName);
return db;
}else{
db = window.openDatabase(dbName, '1', 'my', 1024 * 1024 * 100);
console.log(JSON.stringify(db));
return db;
}
});
};
Ну я получаю эту ошибку, если я бегу старт карма:
Expected undefined to be defined.
at Object.<anonymous> (pathToTests/tests/services/DatabaseServiceTest.js:42:16)
Chrome 46.0.2490 (Mac OS X 10.11.1): Executed 24 of 24 (1 FAILED) (0.183 secs/0.146 secs)
Как карма тестовый браузер Я использую браузер Chrome.