[英]How to unit test Routes in ember-cli app using qunit?
我似乎無法獲得從單元測試觸發的模型鈎子和動作。
任何做這個ember-cli環境的樣本/博客都會有很大的幫助!
我發現這個鏈接什么樣的單元測試解決方案在Ember.js的路線?
但是route.model()拋出錯誤:未定義轉換。
import { test, moduleFor } from 'ember-qunit';
moduleFor('route:sample', 'SampleRoute', {
// Specify the other units that are required for this test.
});
test("beforeModel hook works", function(){
var route = this.subject();
Ember.run(function(){
route.set("model", "Sample data");
})
console.log("Model set. Was beforeModel hook called?");
});
樣本路線
import Ember from 'ember';
export default Ember.Route.extend({
beforeModel: function (transition) {
console.log("Inside before-model hook");
},
afterModel: function() {
console.log("In after-model hook");
}
});
不幸的是,事情並非如此。 beforeModel
之前沒有簡單地稱為model
設定,並afterModel
之后。 它們只是在該序列中調用的鈎子( beforeModel -> model -> afterModel
)作為路徑生命周期的一部分。
不幸的是,我還沒有找到一個單元測試路由的好方法。 如果你有需要測試的特定的beforeModel
邏輯,那么你可以直接調用beforeModel
嗎? 我發現Route邏輯最好通過驗收樣式測試進行測試,因為您可以按照應用程序實際運行時的方式調用Route。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.