問題タブ [shoulda]
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.
ruby - Shoulda を使用した単体テスト
編集:この問題は時々しか発生しません
これは、TextMate 内からテストを実行した場合にのみ発生するようです (ルビを指定して手動で実行する場合でも)。ターミナルから実行すると、すべてが桃色になります…</p>
ここにいくつかのコードがあります:
私はそれが私に次のようなことを教えてくれることを期待しています:
しかし、私は得ています:
それで、私は何が欠けていますか?上記のコード例は、私が作成できると思うほど単純で、問題がわかりません!
ruby - RSpec対Shoulda?
私はユニットテストシーンに不慣れです。ユニットテストを使用してから約2か月になります。Rubyで単体テストを行うときは、現在TDDスタイルに従い、Test :: Unit::TestCaseを使用しています。また、RSpecとそれがBDD方法論に従う方法についても読みました。また、2つのフレームワークの中間にあるShouldaについても読みました。私の質問は、どのフレームワークをRSpecまたはShouldaに費やす必要があるのか、それともTest :: Unit ::TestCaseに固執する必要があるのかということです。この件についてのご意見をお待ちしております。
ruby-on-rails - Shouldaを使用した検証のテストに関する問題
これが私のテストです。
これが私のモデルです。
また、nameがnilに設定されている場合、予期されるエラーに「空白にすることはできません」が含まれ、エラーが発生します:nameアラート名を空白にすることはできません。(なし)
理解できません 。なんで?ありがとう!
ruby-on-rails - rake が単体テストを実行していない
アプリを使用config.gem
からGemfile
バンドラーを使用するようにアップグレードしましたが、単体テストの実行が停止していることに気付きました。ちょっと奇妙で、どこから調べればよいのかよくわかりません。
実行するrake test:units --trace
と、環境がセットアップされていることがわかり、実行する予定のファイルがリストされますが、戻ってきます。
のようなものを使用して 1 つの個別のファイルを実行しようとすると、同じことが行われrake -I"lib:test" test/unit/foo.rb
ますautotest
。
それはすべて非常に奇妙です。ファイルが読み込まれているように見えますが、実際の単体テストは実行されていません。
私はshoulda
andを使用しfast_context
ていますが、これらが問題である可能性があると思いましたが、標準構文を使用した単体テストを含めると、def test_
まだ実行されないため、それらではないと思います。
ヒントや指針をいただければ幸いです。それらが再び機能するようになるまで、盲目的にコーディングしているように感じます!
だからここに私は今いる:
バンドラーを使用する理由は、heroku に依存関係をインストールするためと、github の git リポジトリから入手した gem を使用したかったからです。preinitializer
要するに、 for bundler を削除し、を使用するように戻したということconfig.gem
です。を使用して github リポジトリを使用できないという事実を回避するためにconfig.gem
、自分のコピーを rubygems にプッシュしました。これは正しい動きでしたか?
ここに preinitializer.rb があります
.gems ファイルがどのように役立つかはわかりません。なぜなら、それは heroku のみのものであり、git を介して検索する必要があるためですが、ここに私の gemfile があります。
ruby-on-rails - Shoulda Ruby on Rails を使用して HTTP 応答を取得する
rspec から shoulda に移行していますが、http 応答にアクセスできないようです。誰かが私が間違っているかもしれないことを指摘できますか?
これを実行すると、@response が nill オブジェクトであるというエラーが表示されます。
ruby-on-rails - 多くの関係(および保護された属性)を持つファクトリーガール
私はこの種の関係を持っています:
コントローラー内のデフォルトのシナリオは次のようになります。
私はそれらの工場を書こうとしました:
しかし、私の構文は関連付けについて正しくありません。コメントの article_id 保護属性のため、少し注意が必要です。なのでアーティクルファクトリー内でアソシエーションを宣言した方がいいと思うのですが、処理の仕方がわかりません。
助けてくれてありがとう。
ruby-on-rails - NameError:初期化されていない定数Test :: Unit::AssertionFailedErrorがrails3にアップグレードするとき
RailsアプリケーションをRails3にアップグレードしようとしています。
機能テストを実行すると、多くのNameError: uninitialized constant Test::Unit::AssertionFailedError
エラーが発生します。しかし、単体テストとWebサイト自体は正常に機能しているようです。
トレースは次のようになります。
ショルダーとアマゾンS3の両方の宝石は最新バージョンです。
私が間違っていることについて何か考えはありますか?
ruby-on-rails - 「有効である」必要がありますが、「'handle_matcher':undefined method'matches?'」で失敗します。
私は次の仕様でrspec(rails 3)の上に「shoulda」を試しています:
そしてそれは失敗します
これで、両方を実行すると、テストは正常に実行されます
と
最後はShoulda::ActiveRecord :: Matchersを使用しているので、私の知る限り、shouldaは問題なくロードされます。
助言がありますか?
ruby-on-rails - 関連付けがテストで作成されたオブジェクトを見つけられない
アプリには次のモデルがあります。
私は、Shoulda/FactoryGirl を使用してゲーム機能の一部をテストしています。これがテストです。
問題は、最後のアサートが失敗することです。私は次のような多くの醜いことを試しました:
しかし、問題の根本にたどり着くことができません。トランザクション フィクスチャを無効にしてみました (フィクスチャは使用しませんが、これは Factory girl にも影響すると思います)。他のテストでは役に立ちましたが、ここでは効果がありません。
セットアップ ブロックのアサートは、4 回の実行のうち約 1 回で失敗します。私はMySQLを疑おうとしています... RubyMineからデバッグすると、リロードステートメントですべてが通過しますが、コマンドラインからは通過しません。
ruby-on-rails - ヘルパーが機能しない場合
私は1つの仕様を持っています:
実行するrake spec
と、これが表示されます(ただし、コンテキストをそれに変更し、ブロックのsetup
内容をit
ブロックに移動すると、すべて正常に動作します):
私のspec_helper.rb:
Rails 3 を使用しています。 rspec/shoulda/factory_girl は、Gemfile の次のコードによってアプリケーションに含まれます。