Stu*_*rty 7 javascript unit-testing ember.js ember-cli
我似乎无法获得从单元测试触发的模型钩子和动作.
任何使用此ember-cli环境的样本/博客都将是一个很大的帮助!
我发现这个链接 什么样的单元测试解决方案在Ember.js的路线?
但是route.model()将错误抛出为:未定义transition.
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?");
});
Run Code Online (Sandbox Code Playgroud)
样本路线
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");
}
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,事情并非如此。beforeModel不是简单地在model设置之前和afterModel之后调用。beforeModel -> model -> afterModel它们只是作为路由生命周期的一部分按该顺序 ( ) 调用的钩子。
不幸的是,我还没有找到对路由进行单元测试的好方法。如果你有特定的beforeModel逻辑需要测试,那么也许你可以beforeModel直接调用?我发现路由逻辑最好通过接受式测试进行测试,因为这样您就可以像应用程序实际运行时一样调用路由。
| 归档时间: |
|
| 查看次数: |
1098 次 |
| 最近记录: |