带有Jest和jasmine的多个it语句(噩梦.js)
我在用它 这很好:带有Jest和jasmine的多个it语句(噩梦.js),jasmine,jestjs,nightmare,Jasmine,Jestjs,Nightmare,我在用它 这很好: describe('/ (Home Page)', () => { it('navigate /, then check title', async () => { await nm .goto('http://localhost:3000/') .wait(FIRST_LINK); const title = await nm .click(FIRST_LINK) .wait(FORM) .t
describe('/ (Home Page)', () => {
it('navigate /, then check title', async () => {
await nm
.goto('http://localhost:3000/')
.wait(FIRST_LINK);
const title = await nm
.click(FIRST_LINK)
.wait(FORM)
.title()
expect(title).toEqual('First link');
});
});
但是如果我分成2个it()
块,如下所示:
describe('/ (Home Page)', async () => {
it('navigate /', async () => {
await nm
.goto('http://localhost:3000/')
.wait(FIRST_LINK);
})
it('check title', async () => {
const title = await nm
.click(FIRST_LINK)
.wait(FORM)
.title()
expect(title).toEqual('First link');
});
});
或者像这样:
afterEach( (done) => {
nm.end(done);
});
...
describe('/ (Home Page)', () => {
it('navigate /', async (done) => {
await nm
.goto('http://localhost:3000/')
.wait(FIRST_LINK);
done()
})
it('check title', async (done) => {
const title = await nm
.click(FIRST_LINK)
.wait(FORM)
.title()
expect(title).toEqual('First link');
done()
});
});
Jasmine抛出了这个错误:
Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
at pTimeout (node_modules/jest-jasmine2/build/queueRunner.js:53:21)
at Timeout.callback [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:523:19)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
我对此有点困惑。有人能解释一下吗?Hej Ashley,你能做到这一点吗?不:(现在看来,它似乎没有创建一个包含异步函数的“控制流”。我可能会尝试在“描述”和它之间做所有异步的事情,然后在所有异步问题解决后使用“它”调用。Hej Ashley,你能做到吗?不:(现在看来,它似乎没有创建一个包含异步函数的“控制流”。我可能会尝试在“描述”和“它”之间执行所有异步操作,然后在异步解决所有问题后使用“它”调用。