访问全局变量时 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
})
提前感谢您的帮助。
每个测试文件都在自己的进程中运行,因此您需要在每个测试文件中连接到数据库。
我们最近开始迁移数据库模型的测试。
在尝试分离不同文件中不同类型的测试时遇到问题。
我正在编写一些 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
})
提前感谢您的帮助。
每个测试文件都在自己的进程中运行,因此您需要在每个测试文件中连接到数据库。