[英]Ember.js/Rails integration testing with fixtures
我正在尝试为我的ember.js
rails
应用程序设置测试环境,并决定使用带有mocha
和chai
Konacha
。 我目前ember models
的最大问题是在测试环境中为我的ember models
设置fixtures
。 如果你实现了这个,你们中的任何人都能解释你的文件结构和设置吗? 有几个网站非常简短地解释它,但我希望有一个更清楚的解释。
首先,一些注释可以帮助您澄清这一点,并获得您正在寻找的答案。
ember-data
将在测试之间保持记录。 test_helper.coffee
,这是我之前的一个项目的test_helper.coffee
文件。 该文件将配置Ember进行测试并预加载灯具。 该项目使用mocha
和chai
进行测试 - 不需要其他库。 希望CoffeeScript不会导致问题:
#= require_tree .
Efflux.setupForTesting()
Efflux.injectTestHelpers()
Ember.Test.adapter = Ember.Test.Adapter.extend
exception: (error) ->
Ember.inspect(error)
throw error
Efflux.Store = DS.Store.extend
adapter: DS.FixtureAdapter.create(simulateRemoteResponse: false)
revision: 13
Efflux.Tag.FIXTURES = [
{ id: 1
name: 'alpha'
group: 'symbols'
},
{ id: 2
name: 'beta'
group: 'symbols'
},
{ id: 3
name: 'gamma'
group: 'symbols'
}
]
这是一个用BDD样式编写并使用Tag.FIXTURES的示例测试:
describe '#alphaSort', ->
it 'combines the group and name into a single property', ->
Ember.run ->
tag = Efflux.Tag.find(3)
tag.one 'didLoad', ->
tag.set('group', 'greek')
tag.set('name', 'alpha')
expect(tag.get('alphaSort')).to.eq('greekalpha')
需要注意的重要事项是Ember.run用于整个测试,并且在触发didLoad
事件之后数据才可用。 自写入以来,一些数据钩子可能已经改变,但这是一般的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.