我正在爲我工作的產品編寫一個執行單元測試的迷你框架。我希望儘可能無縫地發佈和管理測試數據。使用Mocha,使用After()掛鉤可以輕鬆安排測試數據清理。Javascript摩卡時間表一次測試數據清理
您可以將單個測試包裝在describe()塊中,並使用該塊的Before/After方法,但是如果可能,我寧願避免這種情況。
您可以將清理功能傳遞給afterEach,它專門針對測試中填充的數據。雖然這隻會對一次清理而言是必要的,但這樣做似乎很笨拙。
是否有可能在一次測試中生成測試數據,僅僅是爲了測試,還安排了與Mocha一起進行清理?
1.您是否必須生成單獨的文件?只要您的測試數據具有可由內存管理的大小,您就可以輕鬆編寫測試數據生成功能。 2.你能否詳細說明「只需要一次清理」的含義? 'afterEach'有什麼問題? –
爲了更加清楚,我的測試數據使用Knex填充到數據庫中。我希望測試能夠從助手請求數據並讓他們填充數據庫,然後清理它。因此,如果一個測試塊向表中插入兩個條目,那麼在測試運行之後,應該刪除這兩個條目。我可以使用它們的主鍵來跟蹤它們並以有針對性的方式清理它們。我可以在AfterEach之後這樣做,但它會在每次測試之後運行,而不是一次性清理。 – Akron
如果你想測試讀/寫,我會建議一個模擬工具,比如優秀的['mock-knex'](https://www.npmjs.com/package/mock-knex)。或者你可以很容易地編寫你自己的模擬數據庫,它實現了你正在測試的方法並將條目存儲在內存中。 –