2014-01-18 33 views
2

我已經創建了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 

這意味着我沒有在商店的句柄。我如何讓商店在我的測試中創建模型?

回答

3

通常我會建議不要這樣,但測試是例外。

var store = App.__container__.lookup('store:main');