问题标签 [factories]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
614 浏览

ruby-on-rails - 在 Rails 测试套件中使用工厂的优点和缺点?

我目前正在查看一个庞大的 Rails 测试套件。我无法详细说明,但整个套件(单元/功能/某些集成)的运行时间可以超过 5 分钟。

我们完全依赖于固定装置,我们没有像我们应该做的那样嘲笑和存根。

我们接下来的几个 sprint 将完全专注于测试套件,既提高覆盖率,编写更好的测试,最重要的是编写更高效的测试。

因此,除了在我们的测试中进行更多的嘲笑和存根之外,我们正在考虑用最有可能的 Factory Girl 替换我们的固定装置。我看到很多快乐的人在做类似的情况,但一直找不到关于搬到工厂的任何缺点的好资源。在使用来自各种资源的基准时,我看到了一些较慢的基准,但无法确定为什么工厂很好,这就是为什么您可能不想使用它们的原因。

谁能告诉我为什么或为什么我不应该使用工厂?

谢谢!

0 投票
1 回答
4337 浏览

ruby-on-rails - Rails has_and_belongs_to_many 让我对固定装置和工厂感到困惑

一般困惑
我有可以有 3 种流派的乐队。我在以前的 SO 帖子中读到,处理此问题的正确方法是几个步骤:

1) 在band.rb中

2)创建一个band_genres连接表

即使在阅读了文档之后,我对 HABTM 的实际含义还是有些困惑。我想我通常会认为“一个乐队有很多流派”,没有也属于很多。因此,对此进行快速的愚蠢解释会很棒。

与夹具混淆

另外,在为 band_genres 做固定装置时,我有

我得到一个“未知”的乐队专栏。我认为 rails 应该知道“收割者乐队”将指代乐队夹具中的乐队(当然同名)并会获取该 ID 并知道此夹具中的“乐队”将指代连接表中的 band_id . 我宁愿我的灯具看起来像这样,也不愿有硬编码的数字。

与工厂混淆

当我在工厂创建乐队时,我想为其分配流派:

我意识到在这里我可能需要一个硬编码的genre_id。但是为什么 rails 不看那个并说“哦,他想将 id=2 的流派添加到 band_genres 表”。

我不指望 rails 会为我处理所有肮脏的工作,但我确实想遵守规则。

0 投票
1 回答
1512 浏览

ruby-on-rails - 您如何使用 accept_nested_attributes_for 创建 RoR 工厂关联?

正如安东指出的那样(感谢安东!)我的问题是测试中的关联缓存,看起来我确实在工厂中正确地创建了nested_attribute。正确的语法是:


accepts_nested__attributes_for在我的工作模型中使用,并且在每次更改模型时几乎失去我的弹珠“夹具潜水”后试图迁移到工厂女孩。

我在下面发布了一堆代码,但我的问题很简单:

如何使用工厂创建nested_attributes?

我可以使用下面的代码创建一个 Job 实例,但我无法在我的单元测试中创建创建车辆。如果没有f.vehicles_attributes...我的作业测试验证失败。

我的单元测试产生以下结果:



0 投票
3 回答
260 浏览

c++ - C++ 模板和工厂

我已经玩 C++ 几年了,想熟练使用和工厂。是否有一些很好的网络教程和/或教科书可以很好地涵盖这一点?

我在广泛使用术语“模式”(80 年代)之前就开始编程......但是当我第一次看到这个术语时,我认识到它使用的“模式”。各种有用模式的良好参考/资源也对我有用。

谢谢!

0 投票
1 回答
94 浏览

c# - 通用分解数据助手(system.data.commons)与特殊数据助手(sql server)的性能?

我计划提高一些应用程序的性能。我们通常使用分解的数据助手(使用 System.Data.Common,但我们正在考虑专门化一些总是要使用 sql server 的应用程序。

有谁知道或可以测试是否使用专用类而不是分解类来提高性能?

谢谢

0 投票
10 回答
57744 浏览

php - 什么是 PHP 中的工厂设计模式?

这让我很困惑,用最简单的术语来说,它有什么作用?假装你正在向你的母亲或几乎请的人解释。

0 投票
4 回答
259 浏览

c++ - 了解工厂,我应该使用它们吗?

我以前从未使用过工厂,原因很简单,我不明白什么时候需要它们。我在业余时间一直在做一个小游戏,我决定为声音实现 FMOD。我查看了为 OpenAL(不同的声音设置)设计的包装器,它看起来像......

SoundObject* SoundObjectManager* SoundObjectFactory*

SoundObject 基本上是每个声音对象的实例。SoundObjectManager 只管理所有这些对象。这很简单,也很有意义,但我不明白工厂在做什么或使用什么。我一直在阅读有关工厂的信息,但仍然没有真正理解它们。

任何帮助,将不胜感激!

0 投票
1 回答
817 浏览

ruby-on-rails - Rails:功能测试中的工厂和关联

我试图弄清楚为什么这不起作用。

假设您有三个模型,User、Foo 和 Bar。为了创建一个 bar,用户必须首先创建并验证一个 foo 对象。

我正在尝试进行功能测试,如果用户尝试在没有有效 foo 的情况下创建新 Bar,他们将被重定向到 Foo 的“新”操作。

我对重定向场景没有任何问题。但是,当我尝试使用有效的 Foo 对象设置用户并尝试获取 Bar 的“新”操作时,它仍然会被重定向到 Foo 控制器的“新”操作。它仍然不承认用户有一个 Foo。

这是我的控制器:

这是我在我的酒吧控制器中调用的应用程序控制器中的重定向功能:

这是Foo工厂:

相反,我被重定向到“ https://test.host:80/foos/new ”控制器不承认用户有一个 Foo ...

会话是有效的,所以这似乎是一个工厂问题,但我不确定它是什么。

0 投票
1 回答
239 浏览

c# - 如何使这个简单的 C# 泛型工厂工作?

我有这样的设计:

虚构的AppleBanana这里不一定共享任何共同的类型(object当然,除了 )。

我不希望客户必须依赖特定的工厂,因此,您可以向 a 索要FactoryManager一种新类型。它有一个FactoryForType方法:

现在您可以使用类似FactoryForType<Apple>().Create(). 到目前为止,一切都很好。

但是在实现层面有一个问题:我如何存储这个从类型到IFactory<T>s的映射?天真的答案是IDictionary<Type, IFactory<T>>,但这不起作用,因为T(我使用的是 C# 3.5)上没有类型协变。我只是坚持IDictionary<Type, object>并手动进行铸造吗?

0 投票
1 回答
2222 浏览

php - Symfony 1.4.6 从任务加载 factory.yml 配置

我的 factory.yml 文件中设置了以下配置...

...克服此处描述的“双点”问题。

当我运行以下代码时...

...在一个动作中,一切都按预期工作。但是当我从任务内部运行相同的代码时,我得到一个致命错误PHP Fatal error: Call to undefined method getCommand- 因为 SwiftMailer 使用的是默认传输类,而不是 factory.ymlSwift_SendmailTransport配置中指定的类。

为什么没有在 symfony 任务中加载 factory.yml 配置的任何想法,以及我该如何解决这个问题?