Testing 在测试中获取Ember属性返回未定义的
我是Ember的新手,我正在使用Konacha测试我的应用程序。我在测试中使用数据存储时遇到问题。以下代码尝试检查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
项
模型的项文本
属性是否与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)->
将对象传递回处理程序,但除此之外,就在钱上。