让 Mocha 测试等待数据库构建的问题
Problems getting Mocha tests to wait for db to be built
我有以下代码,旨在创建一个测试数据库,对其进行升级,为它播种数据,然后 运行 一堆 mocha 测试:-
await createDatabase().then(async () => {
console.log("upgrading database");
await dbUpgrade().then(async () => {
console.log("seeding database");
await seedTestDatabase().then(() => {
在“seedTestDatabase”之后,我调用了我所有的测试套件。当我 运行 这段代码时,我在控制台中得到以下信息:-
正在打开数据库 ./db/test.sqlite
侦听端口 4001
创建数据库
升级数据库
开始升级
0 次通过(1 毫秒)
完成升级
种子数据库
播种测试数据库
开始测试
出于某种原因,Mocha 在 db upgrade 函数的中间决定它找不到任何测试!如果我 运行 函数 createDatabase、dbUpgrade 然后 seedDatabase 一一手动,一切正常。摩卡怎么了?
可能,它可以与 mochajs 一起使用
describe('test database is build', function(){
this.timeout(60 * 1000); // mocha terminates tests after 3 seconds with timeout error
it('creates database', function() {
return createDatabase();
});
it('updates database', function() {
return dbUpgrade();
});
it('seeds database', function() {
return seedTestDatabase();
});
});
如果我们假设问题 returns promise 中描述的每个函数,我们可以将它们全部称为 promise 风格方法中的测试套件项
我有以下代码,旨在创建一个测试数据库,对其进行升级,为它播种数据,然后 运行 一堆 mocha 测试:-
await createDatabase().then(async () => {
console.log("upgrading database");
await dbUpgrade().then(async () => {
console.log("seeding database");
await seedTestDatabase().then(() => {
在“seedTestDatabase”之后,我调用了我所有的测试套件。当我 运行 这段代码时,我在控制台中得到以下信息:-
正在打开数据库 ./db/test.sqlite 侦听端口 4001 创建数据库 升级数据库 开始升级
0 次通过(1 毫秒)
完成升级 种子数据库 播种测试数据库 开始测试
出于某种原因,Mocha 在 db upgrade 函数的中间决定它找不到任何测试!如果我 运行 函数 createDatabase、dbUpgrade 然后 seedDatabase 一一手动,一切正常。摩卡怎么了?
可能,它可以与 mochajs 一起使用
describe('test database is build', function(){
this.timeout(60 * 1000); // mocha terminates tests after 3 seconds with timeout error
it('creates database', function() {
return createDatabase();
});
it('updates database', function() {
return dbUpgrade();
});
it('seeds database', function() {
return seedTestDatabase();
});
});
如果我们假设问题 returns promise 中描述的每个函数,我们可以将它们全部称为 promise 风格方法中的测试套件项