Javascript 单元测试的LoopbackJS寄存器模型
我想对mixin进行单元测试。 所以我需要完全用代码创建一个环回3.x应用程序。 到目前为止,它还可以注册我的mixin,但它没有注册我的模型。 它并没有过度暴露,但这正是我所需要的 这是我的密码:Javascript 单元测试的LoopbackJS寄存器模型,javascript,unit-testing,loopbackjs,Javascript,Unit Testing,Loopbackjs,我想对mixin进行单元测试。 所以我需要完全用代码创建一个环回3.x应用程序。 到目前为止,它还可以注册我的mixin,但它没有注册我的模型。 它并没有过度暴露,但这正是我所需要的 这是我的密码: // create loopback app app = loopback(); app.use(loopback.rest()); // create data source app.dataSource('db', { name: 'db', connector: loopb
// create loopback app
app = loopback();
app.use(loopback.rest());
// create data source
app.dataSource('db', {
name: 'db',
connector: loopback.Memory
});
app.loopback.modelBuilder.mixins.define('accesscheck', AccessCheck);
app.loopback.createModel({
name: 'AccesscheckTest',
plural: 'AccesscheckTests',
base: "PersistedModel",
accesscheck: [{
permission: "ALLOW",
roles: [
'admin'
],
accessScope: "organization",
method: "findById"
}],
mixins: [
"accesscheck"
]
});
var Accesscheck = app.loopback.getModel('Accesscheck');
app.model(Accesscheck, { dataSource: 'db', public: true });
// start server
var connection = app.listen(3000, () => {
if (done) {
done();
}
});
app.activeConnection = connection;
return app;
PS:我知道环回中有ACL模型,但它不适合我的需要,所以我需要实现自己的访问检查。您需要从
环回启动调用boot
我认为最好在测试单元中使用server.js
并在此模式下为测试创建配置文件datasources.test.json
,并在package.json
中为测试创建脚本:“test”:“NODE_ENV=test./NODE_modules/mocha/bin/mocha--recursive”
因此,不再需要在单元测试中创建模型。我认为,仅仅为了测试一个简单的mixin而包含一个完整的环回项目是相当大的开销。我想为这个mixin创建一个npm包,这样我就可以在多个环回应用程序中重用它。@blacksheep_2011您说过要创建服务器并通过rest公开。所以这不是单元测试。我认为最好加载完整的项目进行集成/验收测试。你完全正确,因为我启动了一台服务器,这是集成测试。我将以这种方式尝试,并尽可能减少开销。谢谢你的帮助help@blacksheep_2011不客气。如果我的回答是正确的,请接受。