問題タブ [machinist]

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 投票する
1 に答える
516 参照

unit-testing - 備品の代わりにマシニストを使用する

私のRails 3アプリケーションには、次のフィールドを持つUserモデルがあります。

私は machinist 2 を使用してモックデータを生成しています。その設計図は次のようになります。

そしてユーザーの単体テスト:

ユーザー モデルを生成すると、フィクスチャ ファイルが作成されました。私の理解では、 を実行するrakeと、Rails はそのフィクスチャ ファイルを使用して、テストで使用されるオブジェクトを生成します。これは私が望むものではありません。Railsがフィクスチャ ファイルを使用するのと同じように、機械工の設計図をシームレスに使用するようにしたいと考えています。

これを行う方法はありますか?フィクスチャの代わりにブループリントを使用する必要があることをレールに伝える方法はありますか?

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

ruby - マシニストの設計図で属性を継承する

Machinistを使用して、他のブループリントから属性を継承するようにブループリントを定義する方法はありますか?私は見つけたすべてのドキュメントと例を見てきましたが、それが起こっているのを見たことがありません。

私はこのようなことをしたい:

それらがすべて最初のブループリントから名前/電子メールを継承し、:contibutorブループリントが:editorブループリントからグループ属性を継承する場合。

これは可能ですか?

0 投票する
2 に答える
835 参照

ruby-on-rails - cucumber と rspec は同じ blueprints.rb ファイルを使用できますか

Rails 3、machinist 2、cucumber、rspec をすべて一緒に使用しており、2 つの blueprints.rb ファイルがあります。1 つは spec ディレクトリに、もう 1 つは features/support ディレクトリにあります。

blueprints.rb ファイルを 1 つだけ持つのは良い考えですか?

もしそうなら、これを設定する好ましい方法は何ですか?

当面の間、features/support/blueprints.rb ファイルを spec/blueprints.rb にシンボリック リンクしているだけですが、これは悪いかもしれませんが、私にとってはうまくいきます。

0 投票する
2 に答える
1639 参照

ruby-on-rails - 機械工さん、作成中のオブジェクトを参照して関連付けに渡すにはどうすればよいですか? (AssociationTypeMismatch)

比較的複雑なモデルの工場を構築しようとしています。

私は Source に属する Pressroom モデルを持っており、Source には多くの Pressroom があります。Source の作成時に pressrooms が空の場合、最初の pressroom が after_create フィルターで作成されます。プレスルームのサイトは、ソースごとに一意である必要があります。

これは私の問題につながりPressroom.makeます.プレスルームを持たないソースを構築するため、after_createコールバックが作成Pressroom.makeされ、終了しようとするとそのサイトが一意ではないため、失敗します. 実行時に 2 つのプレスルームを作成したくないPressroom.make

これを解決するための私の試みは、プレスルーム ブループリントのソースの関連付けがプレスルームを参照するようにすることです。どういうことSource.create :pressrooms => [Pressroom.new]だろう。

残念ながら、selfまだプレスルームではありません。これは Machinist::Lathe のインスタンスなので、ActiveRecord::AssociationTypeMismatch 例外が発生します。

工場や機械工に関しては、私は少し初心者です。Pressroom.makeビジネスロジックを変更する必要はなく、その過程で 2 つのプレスルームを作成することなく、きれいにプレスルームを作成できるようにしたいと考えています。factory-girl への切り替えが役立つなら、私はそれを受け入れます。

これを解決する方法についてのアイデアに感謝します。

0 投票する
0 に答える
314 参照

ruby-on-rails - rails console と rails s (WebRICK) で必要なパスの不一致

私は開発でマシニストの設計図を使用しています。

development.rb から:

コンソールで正常に動作します。

サーバーを実行すると、コントローラーはモデルが #make に応答することを認識しますが、設計図が定義されていることは認識しません。

これは奇妙です。

blueprints.rb ファイルにあります。また、「ロードされた!」ステートメントがサーバーログに出力されます。

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

ruby-on-rails - Ruby配列が配列内の要素数と等しくないのはいつですか?

私はtestunitを(機械工で)実行していて、Rubyデバッガーを実行するとこの非常に奇妙な結果が得られます

私の Document/DocumentItem モデルのスニペット:

document_items 配列の数が document_items の要素数と異なるのはなぜですか? 機械仕掛けの魔法か?(関連する可能性があります: Ruby 1.92 in Rails 3: A Case where Array.length Does Not Equal Array.count? )

しかし、これらすべての根本的な問題は、なぜ document_items が空なのかということです。これが機能するため、接続は正しく設定されています。

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

ruby-on-rails - 非永続モデルのテストに役立つレール ファクトリはありますか?

私は、モデルが永続層のないプレーンなルビークラスであるレールアプリケーションに取り組んでいます(アクティブなレコードなどはありません)。RSpec のこれらのモデルを、いくつかの工場 (機械工、工場ガール) が提供するすべての優れた点でテストしたいと考えています。これらのモデルは、将来永続モデルと関連付けられるか、カスタム永続モデルを実装する可能性があります。

助言がありますか?

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

ruby-on-rails - Machinist + Cabybara + Test ::Unit=設計図がありません

私は非常に紛らわしい問題に遭遇しました...

単独で実行すると、すべてのテストに合格します。レーキテストのように実行すると、統合テストを実行した後、マシニストは設計図を見つけることができなくなったと言います。

カピバラのテストを機能させるには、いくつかの魔法を呼び出す必要があります...

トランザクションフィクスチャを取得するには、次のようにすべてのアクティビティを1つのトランザクションに強制します。

私のようなものを発行した後 、ブループリントを再び使用できるようにするためにvisit new_user_session_path これを行う必要があり ます。load "#{Rails.root}/test/blueprints.rb"

Machinistが単純な後に青写真を失う可能性がある方法についてのアイデアはありますvisitか?

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

ruby-on-rails - 機械工、テストで失敗したことのvalidates_uniqueness_of

モデルにvalidates_uniqueness_of検証があります。

Machinistを使用していますが、テストを実行すると上記の検証が失敗します。

テストで1つの「イベント」を作成しているだけで、event_number_digit、event_number_alphaにさまざまな値を試しましたが、運がありませんでした。何か案は?

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

ruby-on-rails - Machinist + RSpec と予約語

私は青写真を持っています:

「context」はModelの属性ですが、RSpecの予約語でもあります。オブジェクトを作成しようとすると、「コンテキスト」行で ArgumentError が発生します。

この状況を克服する方法はありますか?