2017-07-19 121 views
0

我正在使用MochaSelenium爲我的節點Web應用程序執行e2e測試。現在的問題是,我想在執行所有測試用例之後拆除數據庫。節點測試:如何在摩卡測試用例後運行bash命令

後端使用兩個數據庫 - mongo和postgres。我爲每個測試都創建了新的空測試數據庫。在測試過程中,一些記錄被插入到數據庫中。因此,在測試結束時(當調用硒的摩卡測試用例都被執行時),我想拆除測試數據庫並創建新的數據庫。這些操作顯然是由bash命令完成的。所以,這是一個很好的做法,如果是這樣,我該如何實現這一點,比如在js文件(執行摩卡測試用例)中編寫bash命令?

+0

你需要使用child_process – Darkrum

回答

-1

如果您有合理數量的遷移,更好的方法是刪除表(和集合)並通過遷移重新創建它們,而不是刪除整個數據庫。這有一個額外的優勢,驗證你的向下遷移,如果你不得不恢復,可以很方便。

您可以在測試開始時運行遷移(向下然後向上)。我們正在使用db-migrate,這是你如何做到這一點package.json

"scripts": { 
    "test": "npm run testdb && <test command>", 
    "testdb": "db-migrate reset --env test && db-migrate up --env test" 
}