用Jest进行neo4j Node js单元测试

时间:2019-10-30 17:08:45

标签: javascript node.js neo4j jestjs

我使用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);
  });

1 个答案:

答案 0 :(得分:0)

如果您没有在体内使用 await ,或者在功能中没有使用 async ,则无需在功能前使用 async > async 即可访问它,而无需等待

let x = -75;
let b = -7.105427357601002e-15;
x = x + b;
alert(x);

以此类推,检查所有功能,也许会帮忙