经过一番努力,我成功地使用karma运行了茉莉测试,但是我似乎找不到这个问题的答案:
我该如何在实际设备上运行我的茉莉测试以测试与couchbase lite数据库相关的功能?
我正在使用这个:https://github.com/couchbaselabs/ng-couchbase-lite
这是我的测试:
describe('SetupService tests', function() {
it('SetupService should instantiate', function() {
expect(SetupService).toBeDefined();
});
it('it should instantiate database', function() {
var database = null;
SetupService.setupConfig();
expect(database).not.toBeNull();
});
});
所以我需要在实际设备上运行测试,这样数据库才能成功创建。我对单元测试还很陌生,目前仅使用karma cli。
设置配置显示需要couchbase lite和cordova:
var setupConfig = function() {
console.log("set up config");
var deferred = $q.defer();
if(!window.cblite) {
deferred.reject('Couchbase Lite not installed');
}
else {
cblite.getURL(function(err, url) {
console.log("cblite get url");
if(err) {
console.log(err);
deferred.reject("There was an error getting the database URL");
}
else{
database = new $couchbase(url, appDbName);
database.createDatabase().then(function(result) {
var views = setupViews();
database.createDesignDocument("_design/todo", views);
database.listen();
deferred.resolve(true);
}, function(error) {
// we will not reject this err, as it is caused when a db already exists
// so it will happen everytime
deferred.resolve(err);
});
}
});
}
return deferred.promise;
};