4

我已经成功地重构了我的网站以处理新的 Ember 1.0 和 Ember-data 1.0 beta。我正在尝试转换与 karma-runner 一起运行的单元和集成测试。

我陷入了一个简单的测试,该测试验证数据是否正确存储在模型中。 这是一个在之前版本的 ember-data(0.13?)和 ember.js RC6 上工作的示例测试。

虽然我知道在控制器或路由器功能中,这可能有助于获取模型数据:this.store.find('me');但是该语句在测试脚本中是否有效?我无法让它工作。测试时有没有办法访问模型数据?

布莱恩

4

1 回答 1

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

希望能帮助到你。

于 2013-09-05T23:26:49.420 回答