1 回答

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- 這主要用于性能測試查詢等
添加回答
舉報(bào)