[英]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 通過 (1ms)
完成升級種子數據庫種子測試數據庫開始測試
出於某種原因,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();
});
});
如果我們假設所描述的每個函數都返回promise,我們可以在promise風格的方法中依次調用它們作為測試套裝項目
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.