我创建了一个Post模型,我正在尝试编写一个简单的测试来检查我何时设置和检索标题。我不知道如何获得商店的句柄来创建新的Post对象。这是我的测试:
var App;
module('Acceptances - Index', {
setup: function(){
App = startApp();
},
teardown: function() {
Ember.run(App, 'destroy');
}
});
test('index renders', function(){
expect(3);
visit('/').then(function(){
var title = find('h2#title');
var list = find('ul li');
equal(title.text(), 'Welcome to Ember.js');
equal(list.length, 2);
var text = list.text().replace(/\W/g, '');
console.log(text);
equal(text, 'RailsisunagiOmakaseO_o');
});
});
test('can set title', function() {
var store = App.get('store');
var expectedTitle = 'Hello-world';
var post = store.createRecord('post', {title: expectedTitle});
var actualTitle = post.get('title');
equal(actualTitle, expectedTitle, "");
});
我不断收到以下错误
Cannot call method 'createRecord' of undefined
这意味着我没有商店的句柄。如何让我的商店在我的测试中创建模型?
答案 0 :(得分:3)
一般来说,我建议不要这样做,但测试是例外。
var store = App.__container__.lookup('store:main');