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

つまり、私は店のハンドルを持っていません。テストでストアにモデルを作成させるにはどうすればよいですか?

4

1 に答える 1

3

一般的にはこれに反対することをお勧めしますが、テストは例外です。

var store = App.__container__.lookup('store:main');
于 2014-01-18T23:53:16.743 に答える