問題タブ [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.
unit-testing - 備品の代わりにマシニストを使用する
私のRails 3アプリケーションには、次のフィールドを持つUserモデルがあります。
私は machinist 2 を使用してモックデータを生成しています。その設計図は次のようになります。
そしてユーザーの単体テスト:
ユーザー モデルを生成すると、フィクスチャ ファイルが作成されました。私の理解では、 を実行するrake
と、Rails はそのフィクスチャ ファイルを使用して、テストで使用されるオブジェクトを生成します。これは私が望むものではありません。Railsがフィクスチャ ファイルを使用するのと同じように、機械工の設計図をシームレスに使用するようにしたいと考えています。
これを行う方法はありますか?フィクスチャの代わりにブループリントを使用する必要があることをレールに伝える方法はありますか?
ruby - マシニストの設計図で属性を継承する
Machinistを使用して、他のブループリントから属性を継承するようにブループリントを定義する方法はありますか?私は見つけたすべてのドキュメントと例を見てきましたが、それが起こっているのを見たことがありません。
私はこのようなことをしたい:
それらがすべて最初のブループリントから名前/電子メールを継承し、:contibutorブループリントが:editorブループリントからグループ属性を継承する場合。
これは可能ですか?
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 にシンボリック リンクしているだけですが、これは悪いかもしれませんが、私にとってはうまくいきます。
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 への切り替えが役立つなら、私はそれを受け入れます。
これを解決する方法についてのアイデアに感謝します。
ruby-on-rails - rails console と rails s (WebRICK) で必要なパスの不一致
私は開発でマシニストの設計図を使用しています。
development.rb から:
コンソールで正常に動作します。
サーバーを実行すると、コントローラーはモデルが #make に応答することを認識しますが、設計図が定義されていることは認識しません。
これは奇妙です。
blueprints.rb ファイルにあります。また、「ロードされた!」ステートメントがサーバーログに出力されます。
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 が空なのかということです。これが機能するため、接続は正しく設定されています。
ruby-on-rails - 非永続モデルのテストに役立つレール ファクトリはありますか?
私は、モデルが永続層のないプレーンなルビークラスであるレールアプリケーションに取り組んでいます(アクティブなレコードなどはありません)。RSpec のこれらのモデルを、いくつかの工場 (機械工、工場ガール) が提供するすべての優れた点でテストしたいと考えています。これらのモデルは、将来永続モデルと関連付けられるか、カスタム永続モデルを実装する可能性があります。
助言がありますか?
ruby-on-rails - Machinist + Cabybara + Test ::Unit=設計図がありません
私は非常に紛らわしい問題に遭遇しました...
単独で実行すると、すべてのテストに合格します。レーキテストのように実行すると、統合テストを実行した後、マシニストは設計図を見つけることができなくなったと言います。
カピバラのテストを機能させるには、いくつかの魔法を呼び出す必要があります...
トランザクションフィクスチャを取得するには、次のようにすべてのアクティビティを1つのトランザクションに強制します。
私のようなものを発行した後
、ブループリントを再び使用できるようにするためにvisit new_user_session_path
これを行う必要があり
ます。load "#{Rails.root}/test/blueprints.rb"
Machinistが単純な後に青写真を失う可能性がある方法についてのアイデアはありますvisit
か?
ruby-on-rails - 機械工、テストで失敗したことのvalidates_uniqueness_of
モデルにvalidates_uniqueness_of検証があります。
Machinistを使用していますが、テストを実行すると上記の検証が失敗します。
テストで1つの「イベント」を作成しているだけで、event_number_digit、event_number_alphaにさまざまな値を試しましたが、運がありませんでした。何か案は?
ruby-on-rails - Machinist + RSpec と予約語
私は青写真を持っています:
「context」はModelの属性ですが、RSpecの予約語でもあります。オブジェクトを作成しようとすると、「コンテキスト」行で ArgumentError が発生します。
この状況を克服する方法はありますか?