問題タブ [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 分以上かかる場合があります。

私たちはフィクスチャに完全に依存しており、必要なほどモックやスタブを行っていません。

次の数回のスプリントでは、テスト スイートに完全に焦点を当て、カバレッジを改善し、より良いテストを作成し、最も重要なこととしてより効率的なテストを作成します。

したがって、テスト内でのモックとスタブの追加は別として、フィクスチャをおそらく 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は、「The Reaper Band」がバンドフィクスチャ(もちろん同じ名前)のバンドを参照し、そのIDを取得し、このフィクスチャの「バンド」が結合テーブルのband_idを参照することを知っているはずだと思いました. ハードコードされた数字よりも、フィクスチャがこのように見えることを望みます。

工場との混同

工場でバンドを作成するときに、ジャンルを割り当てたい:

ここで、おそらくハードコーディングされたgenre_idが必要になることに気づきました。しかし、レールはそれを見て、「ああ、id=2 のジャンルを band_genres テーブルに追加したい」と言わないのはなぜですか。

Railsがすべての面倒な作業を処理してくれるとは思っていませんが、ルールを守りたいと思っています。

0 投票する
1 に答える
1512 参照

ruby-on-rails - accepts_nested_attributes_forを使用してRoRファクトリの関連付けをどのように作成しますか?

アントンが指摘しているように(アントンに感謝します!)、私の問題はテストでのアソシエーションキャッシングであり、ファクトリでnested_attributeを正しく作成したようです。正しい構文は次のとおりです。


私はaccepts_nested__attributes_for自分のジョブモデルで使用しており、モデルを変更するたびにビー玉の「フィクスチャダイビング」をほぼ失った後、ファクトリーガールに移行しようとしています。

以下にたくさんのコードを投稿しましたが、私の質問は簡単です。

ファクトリを使用してnested_attributesを作成するにはどうすればよいですか?

以下のコードを使用してジョブインスタンスを作成できますが、単体テストで車両の作成を作成できません。私のジョブテストがないとf.vehicles_attributes...、検証に失敗します。

私の単体テストでは、次の結果が得られます。



0 投票する
3 に答える
260 参照

c++ - C++ テンプレートとファクトリ

私は数年前から C++ で遊んでおり、ファクトリの使用に習熟したいと考えています。これをうまくカバーしている優れた Web チュートリアルや教科書はありますか?

私がプログラミングを始めたのは、「パターン」という用語が広く使われる前 (80 年代) でしたが、この用語を初めて見たとき、その使用法の「パターン」を認識しました。さまざまな有用なパターンの優れた参照/リソースも私に役立ちます。

ありがとう!

0 投票する
1 に答える
94 参照

c# - 一般的な因数分解されたデータヘルパー(system.data.commons)と特殊なデータヘルパー(SQLサーバー)のパフォーマンス?

一部のアプリケーションのパフォーマンスを向上させることを計画しています。通常、因数分解されたデータヘルパーを使用します(System.Data.Commonを使用しますが、常にSQLサーバーを使用する一部のアプリケーションに特化することを検討しています。

因数分解されたクラスの代わりに特殊なクラスを使用してパフォーマンスが向上するかどうかを知っているか、テストできる人はいますか?

ありがとう

0 投票する
10 に答える
57744 参照

php - PHP の Factory Design パターンとは何ですか?

これは私を混乱させます。最も簡単な言葉で言えば、それは何をしますか? 母親や誰かに説明しているふりをしてください。

0 投票する
4 に答える
259 参照

c++ - ファクトリを理解し、使用する必要がありますか?

単純な理由で、以前にファクトリを使用したことがありません。いつ必要になるかわかりません。空き時間に小さなゲームに取り組んでいたので、サウンドに FMOD を実装することにしました。OpenAL(異なるサウンド設定)用に設計されたラッパーを見たところ、次のように見えました...

SoundObject* SoundObjectManager* SoundObjectFactory*

SoundObject は、基本的に各サウンド オブジェクトのインスタンスです。SoundObjectManager は、これらすべてのオブジェクトを管理するだけです。これは単純明快で十分に理にかなっていますが、工場が何をしているのか、何を使用しているのかわかりません。私は工場について読んでいますが、まだ実際には理解していません。

どんな助けでも大歓迎です!

0 投票する
1 に答える
817 参照

ruby-on-rails - Rails:機能テストにおける工場と関連

私はこれがうまくいかない理由を理解しようとしています。

User、Foo、Barの3つのモデルを考えてみましょう。バーを作成するには、ユーザーは最初にfooオブジェクトを作成して検証する必要があります。

ユーザーが有効なfooを持たずに新しいバーを作成しようとすると、Fooの「新しい」アクションにリダイレクトされる機能テストを機能させようとしています。

リダイレクトシナリオに問題はありません。ただし、有効なFooオブジェクトを使用してユーザーを設定し、バーの「新しい」アクションを取得しようとすると、Fooコントローラーの「新しい」アクションにリダイレクトされます。それでも、ユーザーがFooを持っていることを認識しません。

これが私のコントローラーです:

これは、アプリケーションコントローラーにあるリダイレクト関数であり、バーコントローラーで呼び出されます。

これがFooFactoryです。

代わりに、「https://test.host:80 / foos / new」にリダイレクトされます。コントローラーは、ユーザーがFooを持っていることを認識しません...

セッションは有効なので、これは工場の問題のようですが、それが何であるかはわかりません。

0 投票する
1 に答える
239 参照

c# - この単純なC#ジェネリックファクトリをどのように機能させることができますか?

私はこのデザインを持っています:

架空のものAppleBananaここでは、必ずしも共通のタイプを共有しているわけではありません(objectもちろん、それ以外)。

クライアントが特定の工場に依存する必要はないので、代わりにFactoryManager、新しいタイプを要求することができます。それにはFactoryForType方法があります:

これで、のようなものを使用して適切なインターフェイスメソッドを呼び出すことができますFactoryForType<Apple>().Create()。ここまでは順調ですね。

しかし、実装レベルで問題があります。タイプからIFactory<T>sへのこのマッピングをどのように保存するのですか?素朴な答えはですが、 (私はC#3.5を使用しています)にIDictionary<Type, IFactory<T>>型の共分散がないため、それは機能しません。T私はただで立ち往生してIDictionary<Type, object>いて、手動でキャストをしていますか?

0 投票する
1 に答える
2222 参照

php - Symfony 1.4.6でfactorys.yml構成をタスクからロードする

factory.yml ファイルに次の構成を設定しています...

...ここで説明されている「二重ドット」の問題を克服するため。

次のコードを実行すると...

...アクション内では、すべてが期待どおりに機能します。しかし、タスク内から同じコードを実行すると、致命的なエラーが発生します。これは、SwiftMailer が、factorys.yml構成で指定されたクラスPHP Fatal error: Call to undefined method getCommandではなく、デフォルトのトランスポート クラスを使用しているためです。Swift_SendmailTransport

factory.yml 構成が symfony タスクにロードされない理由と、この問題を解決するにはどうすればよいですか?