在运行夜间监视测试时,如何写入mongoDB数据库?

时间:2019-04-29 20:41:54

标签: javascript mongodb mocha nightwatch

我正在编写一个使用夜视仪的自动化测试套件,以从网络上检索数据。测试效果很好。

但是,我想将检索到的数据写入mongoDB数据库。

我能够连接到mongo,并且在不运行测试时可以写入db。

但是当我运行测试时,出现以下错误

  1) Navigate to url
       "before all" hook:
     Error: Timeout of 10000ms exceeded. 
     For async tests and hooks, ensure "done()" is called; 
     if returning a Promise, ensure it resolves. 

我调用一个辅助函数来写入mongodb,当我自己运行它时可以运行,但在夜间测试中运行时却无法运行。 这就是该功能

function createDBCategories(dbName, categories) {
  MongoClient.connect(url, { useNewUrlParser: true })
    .then(client => {
      const db = client.db(dbName);
      const categoryData = [
        exampleTitleOne: "exampleOne",
        exampleTitleTwo: "exampleTwo",
      ]
      db.collection("products").insertMany(categoryData, (err, res) => {
        if (err) throw err;
        console.log(`${res.insertedCount} documents inserted into ${dbName} db`);
        // db.close();
      });
    }).catch(err => {
      console.log("err", err);
    });
};

在挂上钩之前在我的夜视仪中

  before(() => {
    createDBCategories("categoryDB", categoryData);
  });

0 个答案:

没有答案