我使用Jest框架创建单元测试。当我运行它们时。末尾有消息:
“ Jest没有在测试运行完成后一秒钟退出。
这通常意味着您的测试中没有停止异步操作。考虑使用--detectOpenHandles
运行Jest来解决此问题。”
要退出,我使用命令“ --forceExit”。
另外,我试图找到--detectOpenHandles
的问题,但没有显示任何内容。
我找不到尚未关闭的内容,会话或驱动程序或其他内容。 怎么解决?
const neo4j = require("neo4j-driver");
const driver = neo4j.v1.driver(
`bolt://${host}`,
neo4j.v1.auth.basic(username, password)
);
beforeAll(async () => {
await cleanDB();
});
afterAll(async () => {
await cleanDB();
driver.close();
});
async function cleanDB() {
await runQuery(`...query`);
}
async function runQuery(query) {
const session = driver.session();
return session
.writeTransaction(tx => tx.run(query))
.then(result => {
session.close();
return result;
})
.catch(error => {
session.close();
return { error };
});
}
describe(`bla-bla-bla`, function() {
beforeAll(async () => {
await dataBaseLoader(data);
});
test(`bla-bla-bla`, async function() {
const result = await runQuery(
'...query' );
//Body of Test
expect(result).toStrictEqual(expected);
});
答案 0 :(得分:0)
如果您没有在体内使用 await ,或者在功能中没有使用 async ,则无需在功能前使用 async > async 即可访问它,而无需等待
let x = -75;
let b = -7.105427357601002e-15;
x = x + b;
alert(x);
以此类推,检查所有功能,也许会帮忙