问题描述
我对如何测试来自超级(继承基类)的受保护方法感到困惑
这是我在基类中的内容
1.hashCode
在另一个类中我扩展了它:
export default class DataStoreBase {
protected _url: string;
protected _db: any;
protected _logger: LoggingService;
protected _name: string;
protected _type: string;
public constructor(logger: LoggingService,name: string,config: DatastoreConfig) {
this._url = "";
this._logger = logger;
this._name = name;
this._type = "";
if (config.datastoreType === "cloudant") {
const res = this.getCloudantClient(config.cloudant);
this._url = res.endpoint;
this._db = res.db;
this._type += "Cloudant";
this._logger.info({message: `${name} instance has been initialized.`});
} else if (config.datastoreType === "couchdb") {
const res = this.getCouchDBClient(config.couch);
this._url = res.endpoint;
this._db = res.db;
this._type += "CouchDB";
this._logger.info({message: `${name} instance has been initialized.`});
} else {
throw (new Error(CONfig_INVALID_ERROR.message));
}
}
}
如你所见 _db.find 来自基类,它是受保护的变量 现在我想存根 rhis._db.find 我试试这个
export default class SearchesDatastore extends DataStoreBase {
private bulkSize: number;
private designDocsPath: string;
....
public async getArchivedSearches() {
const _items = await this._db.find(q)
const items = _items.docs;
if (items.length <= 0) {
this._logger.warn({ message: `No expired search queries found.` });
return tobedeleted;
}
bookmark = _items.bookmark;
for (let i = 0; i < items.length; i++) {
tobedeleted.push(items[i])
}
return tobedeleted;
但不会发生存根 如果有人可以提供帮助,我真的很困惑,不胜感激
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)