【发布时间】:2020-10-20 22:09:35
【问题描述】:
我遇到了问题。我是 JavaScript 新手,我无法真正解决这个错误。
我通过 puppeteer 从网站获取数据,然后我想测试它是否正确:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://6mr2n.csb.app/#');
header = await page.evaluate(() => {
header = document.querySelector('header[class="header"]').innerText;
return header;
});
console.info(`The header is: ${header}`);
await browser.close
module.exports = header;
})();
我的测试文件(开玩笑)是:
const index = require('./index');
test('Hallo', () => {
expect(index.header).toEqual('todos');
});
可能我只是愚蠢,但我确实尝试了很多来解决这个问题。运行主文件有效,但运行测试(npm run test)给出以下结果:
expect(received).toEqual(expected) // deep equality
Expected: "todos"
Received: undefined
4 |
5 | test('Hallo', () => {
> 6 | expect(index.header).toEqual('todos');
| ^
7 | });
at Object.<anonymous> (index.test.js:6:26)
还有:
Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "The header is: todos".
【问题讨论】:
标签: javascript node.js npm puppeteer