访问全局变量时 AVA 测试失败

AVA Test Fails in case of accessing global variable

我们最近开始迁移数据库模型的测试。

在尝试分离不同文件中不同类型的测试时遇到问题。

我正在编写一些 AVA 单元测试 在一个文件中 test_1.js 它是,

const test = require('ava');

const sDB = require('../services/serviceDB');

const config = require('../../config').production;
const { CONFIG_RDS } = config;


let x = 1;

test.before(async (t) => {
  t.context.log = console.log;
// following line connects with database and sets global.db
    await loaderDB.connect(CONFIG);

  })

test('Test 1 - to access database',async(t)=>{
    // test some functionality that accesses global.db
    // it passes
})


在另一个文件上test_2.js

const test = require('ava');

const sDB = require('../services/serviceDB');

const config = require('../../config').production;
const { CONFIG_RDS } = config;


let x = 1;

test.before(async (t) => {
  t.context.log = console.log;
  // wait for db to be connected
   await timeout(4000) // custom timeout that awaits

  })

test('Test 2 - to access database',async(t)=>{
    // test some functionality that accesses global.db
    // it FAILS
    // It returns exception that global.db is undefined
})

提前感谢您的帮助。

每个测试文件都在自己的进程中运行,因此您需要在每个测试文件中连接到数据库。