第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何有效地填充 MongoDB 數(shù)據(jù)庫以進(jìn)行 e2e 測試

如何有效地填充 MongoDB 數(shù)據(jù)庫以進(jìn)行 e2e 測試

素胚勾勒不出你 2021-12-23 15:45:52
我已經(jīng)按照此處的描述設(shè)置了我的環(huán)境:https : //medium.com/developer-circles-lusaka/how-to-write-an-express-js-server-using-test-driven-development-921dc55aec07這意味著我正在使用配置包來選擇環(huán)境。我想做的是在執(zhí)行每個(gè)測試之前(重新)填充數(shù)據(jù)庫。我希望這可以使用 Mocha 提供的 beforeEach() 鉤子來完成(我使用 Mocha 作為測試運(yùn)行程序)。我的問題是什么是一次性將一堆數(shù)據(jù)加載到數(shù)據(jù)庫中的有效方法(我正在使用 Mongoose 以防萬一。我不知道插入時(shí)是否可以省略)?這最好在與測試分開的文件中完成。
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

這是我所做的:


在 beforeEach 中完全刪除數(shù)據(jù)庫。您可以通過 mongoose 連接訪問 mongodb 實(shí)例,例如:db.db.dropDatabase()


為我的域創(chuàng)建預(yù)配置的數(shù)據(jù)對(duì)象并將它們保存在我導(dǎo)入的模塊中 - 簡單的 JavaScript 對(duì)象。所以我有像 data.users.vader 和 data.users.luke、data.products.deathStar 等數(shù)據(jù)


在我的測試中,我使用chaihttp來訪問包含以下數(shù)據(jù)的路由:


let user = data.users.vader;

chai.request(server)

                    .post('/users')

                    .send(user)

                    .end((err, result) => {

                        if (err) {

                            return callback(err);

                        }


result.should.have.status(200);

                        result.body.status.should.eq(enums.status.success);

                        result.body.data._id.should.be.a('string');

                        result.body.data.name.should.eq(user.name);

                        result.body.data.email.should.eq(user.email);

每個(gè)單元測試都會(huì)刪除數(shù)據(jù)庫并創(chuàng)建所需的數(shù)據(jù)。我是這樣開始的,這樣每個(gè)測試都是獨(dú)立的。


您也可以batchWriteItem稍后使用 mongodb 批量加載數(shù)據(jù)。


我還創(chuàng)建了可以在單元測試中調(diào)用的函數(shù),這些函數(shù)將使用批量加載數(shù)據(jù)batchWriteItem- 這主要用于性能測試查詢等


查看完整回答
反對(duì) 回復(fù) 2021-12-23
  • 1 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)