我正在为基于猫鼬的简单服务编写测试:
describe('users service', () => {
const service = app.service('users');
it('registered the service', () => {
assert.ok(service, 'Registered the service');
});
});
问题是,如何在每次测试之前清除数据?
现在我有:
// Reset service state before each test.
beforeEach((done) => {
service.find().then((items) => {
items.data.forEach((item) => {
service.remove(item._id)
});
done();
})
});
这很尴尬。有更好的方法吗?
答案 0 :(得分:0)
使用最新的适配器版本,您还可以临时设置multi
选项以允许删除所有条目并调用.remove(null)
:
// Reset service state before each test.
beforeEach(async () => {
const multi = service.options.multi;
service.options.multi = 'remove';
await service.remove(null);
service.options.multi = multi;
});
这还将等到所有内容都删除(您的示例不会删除)。