मैं यूनिट परीक्षण बनाने के लिए जेस्ट फ्रेमवर्क का उपयोग करता हूं। जब मैं उन्हें चलाता हूं। अंत में संदेश है:

"टेस्ट रन पूरा होने के बाद जेस्ट एक सेकंड से बाहर नहीं निकला। इसका आमतौर पर मतलब है कि ऐसे एसिंक्रोनस ऑपरेशन हैं जो आपके परीक्षणों में नहीं रुके थे। इस समस्या के निवारण के लिए --detectOpenHandles के साथ जेस्ट चलाने पर विचार करें।"

बाहर निकलने के लिए, मैं "--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
Pavlo NN 30 अक्टूबर 2019, 20:08

1 उत्तर

सबसे बढ़िया उत्तर

फ़ंक्शन से पहले async का उपयोग करने की कोई आवश्यकता नहीं है यदि आप बॉडी में प्रतीक्षा का उपयोग नहीं करते हैं, भले ही फ़ंक्शन async< नहीं है /strong> बिना प्रतीक्षा के उस तक पहुंचें

function cleanDB() {
  runQuery(`...query`);
}

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 };
    });
}

और इसी तरह, अपने सभी कार्यों की जाँच करें, शायद यह मदद करेगा

1
Василий Радяну 30 अक्टूबर 2019, 19:08