如何使用ember-data 1.0 beta从单元/集成测试中访问模型数据

时间:2013-09-05 22:29:55

标签: unit-testing ember.js integration-testing ember-data

我已成功重构我的网站以处理新的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');但该语句是否适用于测试脚本?我无法让它发挥作用。有没有办法在测试时访问模型数据?

布赖恩

1 个答案:

答案 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.");
});

希望它有所帮助。

相关问题