我有一個Loopback API,其型號爲Student
。環回模型的單元測試
我如何寫的Student
模型的節點API方法的單元測試,而不調用REST API?我無法找到任何文檔或示例來通過節點API本身測試模型。
任何人都可以請幫忙嗎?
我有一個Loopback API,其型號爲Student
。環回模型的單元測試
我如何寫的Student
模型的節點API方法的單元測試,而不調用REST API?我無法找到任何文檔或示例來通過節點API本身測試模型。
任何人都可以請幫忙嗎?
實施例與測試count
方法
// With this test file located in ./test/thistest.js
var app = require('../server');
describe('Student node api', function(){
it('counts initially 0 student', function(cb){
app.models.Student.count({}, function(err, count){
assert.deepEqual(count, 0);
});
});
});
這種方式可以測試節點API,而不調用REST API。
然而,對於內置的方法,這個東西已經被strongloop所以應該相當無用的測試節點API測試。但對於遠程(=自定義)方法,它仍然很有趣。
編輯: 這種做事方式沒有被闡明的原因是因爲最終,您將需要測試您的完整REST API以確保不僅節點API按預期工作,而且ACL已正確配置,返回代碼等等。所以最後,你最終會爲同一件事寫兩個不同的測試,這是浪費時間。 (除非你喜歡寫測試:)
感謝您的回答,但上面給出的代碼存在一個問題。對於單元測試,我不想用我的實際分貝。我想用在內存分貝。那麼在這種情況下如何在內存數據中創建?以及如何在內存數據庫中添加用戶,訪問令牌? 另外我想使用beforeEach鉤插入學生表中的記錄。這樣我可以得到一些計數值。 希望這解釋更多關於我的問題。 –
無法從問題中猜出來,但是創建內存數據庫非常簡單(請參見[這裏](https://docs.strongloop.com/display/public/LB/Memory+connector))。它對你來說是透明的,無論你使用內存還是真正的數據庫。 – Overdrivr
要添加用戶,訪問令牌等,只需使用我給出的鏈接中記錄的節點API。這裏又是:http://apidocs.strongloop.com/ – Overdrivr
對於背景:Strongloop文檔不真正解釋測試顯然和google搜索「strongloopjs測試」僅產生像這樣的文章:https://strongloop.com/strongblog/how -a-test-an-api-with-node-js /它使用HTTP API測試應用程序,而不是對模型本身進行單元測試。 –