Typescript 如何创建GoogleAppsScript.Document.Text的实例
我想对这段代码进行单元测试,它是使用Clasp将Typescript传输到Google应用程序脚本中的:Typescript 如何创建GoogleAppsScript.Document.Text的实例,typescript,google-apps-script,mocking,google-docs,clasp,Typescript,Google Apps Script,Mocking,Google Docs,Clasp,我想对这段代码进行单元测试,它是使用Clasp将Typescript传输到Google应用程序脚本中的: function onLinksInText(text: GoogleAppsScript.Document.Text, onLink: OnLinkCallback) { const iterator = new TextIterator(text, onLink) const characters = text.getText(); for (let i = 0;
function onLinksInText(text: GoogleAppsScript.Document.Text, onLink: OnLinkCallback) {
const iterator = new TextIterator(text, onLink)
const characters = text.getText();
for (let i = 0; i < characters.length; i++) {
iterator.handle(i, text.getLinkUrl(i));
}
iterator.end()
}
函数onLinksInText(文本:GoogleAppsScript.Document.text,onLink:OnLinkCallback){
常量迭代器=新文本迭代器(文本,联机)
常量字符=text.getText();
for(设i=0;i
为此,我需要创建一个GoogleAppsScript.Document.Text
我该怎么做?简短回答 你得模仿这个班 长答案 要成功地测试函数,您只需要构造函数和模拟的方法。让我们也好好嘲笑一下:
函数TextFactory(){
const linkMatcher=/https?:\/\/(?:www\)?(?:\.{0,1}(?:\w |-)+)+/ig;
让私人“”;
返回{
setText(文本){
private=text.toString();
归还这个;
},
getText(){
回归私人;
},
getLinkUrl(偏移量){
const idx=private.search(linkMatcher);
如果(idx<0 | | offset>idx){returnnull;}
返回private.slice(idx);
}
};
}
const mock=TextFactory();
mock.setText(“在https://example.com ");
log(mock.getText());
log(mock.getLinkUrl(4));
console.log(mock.getLinkUrl(12))代码>