我已成功重构我的网站以处理新的Ember 1.0和Ember-data 1.0 beta。我正在尝试转换我的单位和集成测试,与karma-runner一起运行。
我陷入了一个简单的测试,它验证数据是否在模型中正确存储。 Here is a sample test曾用于上一版本的ember-data(0.13?)和ember.js RC6。
虽然我知道在控制器或路由器功能中,这可能有助于获取模型数据:this.store.find('me');
但该语句是否适用于测试脚本?我无法让它发挥作用。有没有办法在测试时访问模型数据?
布赖恩
答案 0 :(得分:6)
对于测试,您始终可以通过执行以下操作在应用程序容器中查找商店:
App.__container__.lookup('store:main');
所以,这样的事情应该有效:
test('user is authenticated', function() {
var store = App.__container__.lookup('store:main');
var me;
me = store.find('me');
me.set('IsAuthenticated', true);
ok(me.get('IsAuthenticated'), "user should be authenticated.");
});
希望它有所帮助。