1
我想單元測試一個mixin。 所以我需要完全在代碼中創建一個loopback 3.x應用程序。 它工作到目前爲止,它註冊我的mixin,但它沒有註冊我的模型。 它沒有透露REST,但那正是我需要的。LoopbackJS寄存器模型的單元測試
這裏是我的代碼:
// 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模型,但是,所以我需要實現我自己的AccessCheck它不適合我的需要。
我認爲包含一個完整的迴環項目只是爲了測試一個簡單的mixin是非常耗費的。我想爲這個mixin創建一個npm包,以便我可以在多個回送應用程序中重用它。 –
@ blacksheep_2011你告訴過你想要製作服務器並在休息時暴露出來。所以這不是單元測試。我認爲最好加載完整的項目進行集成/驗收測試 –
你是絕對正確的,因爲我啓動了一個服務器,這是集成測試。我會用這種方式來嘗試,並儘可能降低開銷。感謝您的幫助 –