首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Ember.js (如factory_girl或machinist)生成测试数据

为Ember.js (如factory_girl或machinist)生成测试数据
EN

Stack Overflow用户
提问于 2013-04-04 22:17:16
回答 3查看 861关注 0票数 4

我正在针对Ember.js应用程序编写单元和集成测试,但在测试该应用程序时,我无法连接到服务器。这意味着我需要使用DS.FixtureAdapter来备份我的数据存储。

但就我个人而言,我并不喜欢大型应用程序中的fixture,因为很难想出一套适用于每个测试用例的fixture。我更喜欢像factory_girl和machinist这样的工具,它们允许我生成与所有其他测试隔离的特定于测试的数据:

代码语言:javascript
复制
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中有什么简单的方法可以做到这一点吗?有没有技术、约定或库可以让这一切变得更容易?谷歌搜索目前还没有任何实际的选择。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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 ..还有一些其他的东西。

票数 5
EN

Stack Overflow用户

发布于 2013-04-15 00:54:09

我过去使用过一个rake任务,用FactoryGirl创建一堆对象,然后通过序列化程序将其转储到一个fixtures.json文件中。

优点:

当你有复杂的序列化逻辑或计算的attributes.

  • You时,
  • 它使事情变得干爽,在你的测试中获得更多的信心。

缺点:

fixtures‘s It hackish.

  • Usability is so- so,因为您必须记得重新生成fixtures文件(很慢,很难为不同的测试用例生成不同的fixture集,所以您主要使用全局fixture集。

我现在没有代码,但这并不是一个非常复杂的设置。我对利大于弊持观望态度。

顺便说一句,我发现为Konacha动态生成fixture会太慢而无法使用(参见#60)。

票数 2
EN

Stack Overflow用户

发布于 2013-09-25 20:39:16

我认为你可以在客户端和模拟请求中生成数据。我建议你可以在factory_girl js中使用茉莉或摩卡咖啡。

用于生成数据

代码语言:javascript
复制
FactoryGirl.define('user', function() {
      this.id = 1
})
FactoryGirl.create('user')

更多详细信息请访问:https://github.com/Coffa/factory_girl

emberjs

你可以在这里查看what's the setup to use Ember testing helpers?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15813816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档