Testing 在测试中获取Ember属性返回未定义的

Testing 在测试中获取Ember属性返回未定义的,testing,ember.js,ember-data,Testing,Ember.js,Ember Data,我是Ember的新手,我正在使用Konacha测试我的应用程序。我在测试中使用数据存储时遇到问题。以下代码尝试检查项模型的项文本属性是否与DOM中显示的文本相同: it "should display the item text", -> item = undefined Ember.run -> item = store.find('item', 1) # store is defined in the spec helper content = item.g

我是Ember的新手,我正在使用Konacha测试我的应用程序。我在测试中使用数据存储时遇到问题。以下代码尝试检查
模型的
项文本
属性是否与DOM中显示的文本相同:

it "should display the item text", ->
  item = undefined
  Ember.run ->
    item = store.find('item', 1)  # store is defined in the spec helper
  content = item.get('itemText')
  console.log(item)               # Logs the correct item
  console.log(content)            # Logs undefined
  $('.list-item:eq(0)').text().should.equal content   # Fails since content is undefined

显然,
content=item.get('itemText')
并没有达到我期望的效果。但是,在控制台中逐行运行相同的代码会返回所需的属性,因此我不确定哪里出了问题。我有一种感觉,我可能是用完全错误的方式测试这个,所以任何反馈都是值得赞赏的。

我认为您的控制台日志是在获取模型之前运行的。你需要的是一个承诺,看看

it "should display the item text", ->
  item = undefined
  Ember.run ->
    item = store.find('item', 1).then (item) ->
      content = item.get('itemText')
       $('.list-item:eq(0)').text().should.equal content 

太棒了,谢谢!最后,我不得不将
.find()
调用更改为
store.find('item',1)。然后(item)->
将对象传递回处理程序,但除此之外,就在钱上。