我正在构建一个使用 puppeteer 的网络爬虫。我显然想确保在解决问题时不会破坏事情,所以我正在编写一些实现测试。
我将如何测试下面的代码?问题是 newPage() 是嵌套的,我不知道如何为它创建一个间谍。
有任何想法吗?我是否应该以不同的方式构造代码以使其更易于测试(从我读过的内容来看这是一个很大的禁忌)。很高兴听到您的建议。
//myFile
myFn(){
let browser = puppeteer.launch()
let page = browser.newPage();
}
describe('searchAddress', () => {
beforeEach(() => {
browserSpy = spyOn(puppeteer,'launch')
pageSpy = spyOn(puppeteer,'newPage') // <--- ????
})
it('should ensure the calls were made', async () => {
await myFn()
expect(sleepSpy).toHaveBeenCalled();
expect(pageSpy).toHaveBeenCalled();
});
});