我正在针对Ember.js应用程序编写单元和集成测试,但在测试该应用程序时,我无法连接到服务器。这意味着我需要使用DS.FixtureAdapter来备份我的数据存储。
但就我个人而言,我并不喜欢大型应用程序中的fixture,因为很难想出一套适用于每个测试用例的fixture。我更喜欢像factory_girl和machinist这样的工具,它们允许我生成与所有其他测试隔离的特定于测试的数据:
FactoryGirl.define do
factory :user do
name 'John Doe'
date_of_birth { 21.years.ago }
end
end
# In specific test cases:
user = FactoryGirl.build(:user)
young_user = FactoryGirl.create(:user, date_of_birth: 17.years.ago)当然,factory_girl和machinist也可以自动生成相关模型。
现在在Ember.js中有什么简单的方法可以做到这一点吗?有没有技术、约定或库可以让这一切变得更容易?谷歌搜索目前还没有任何实际的选择。
发布于 2014-06-03 20:44:48
我最近创建了一个名为Ember Data Factory Guy的项目,以帮助为使用ember-data的ember项目创建fixture数据。它可以与REST或ActiveModel适配器一起使用,并具有测试助手,使其使用起来非常简单。
点击这里查看:
https://github.com/danielspaniel/ember-data-factory-guy
它支持belongsTo、hasMany (甚至是多态)关联。序列,嵌入式belongsTo ..还有一些其他的东西。
发布于 2013-04-15 00:54:09
我过去使用过一个rake任务,用FactoryGirl创建一堆对象,然后通过序列化程序将其转储到一个fixtures.json文件中。
优点:
当你有复杂的序列化逻辑或计算的attributes.
缺点:
fixtures‘s It hackish.
我现在没有代码,但这并不是一个非常复杂的设置。我对利大于弊持观望态度。
顺便说一句,我发现为Konacha动态生成fixture会太慢而无法使用(参见#60)。
发布于 2013-09-25 20:39:16
我认为你可以在客户端和模拟请求中生成数据。我建议你可以在factory_girl js中使用茉莉或摩卡咖啡。
用于生成数据
FactoryGirl.define('user', function() {
this.id = 1
})
FactoryGirl.create('user')更多详细信息请访问:https://github.com/Coffa/factory_girl
emberjs
https://stackoverflow.com/questions/15813816
复制相似问题