ミニテストとカピバラで奇妙な問題が発生しました。
私はレール3.2.8を使用しており、minitest / capybara/poltergeistでテストしています。今まではすべてうまくいきました。私はいつもJavaScriptのものをテストすることができました。
新しいプロジェクトでは、Rails4をダウンロードして少し説明しました。ミニテストはテストフレームワークになるので、簡単だと思いました。そうではありませんでした。正直なところ、すべてのものをセットアップすることに関しては、私はヒーローではありません。ライアン・ベイツをフォローしています。たくさんのgemを追加、削除、更新した後、Rails4を使い続ける価値はないと判断しました。統合テストで溝に入るのに非常に多くの問題がありました。私が知っていたものはすべて期待どおりに機能しませんでした。私がjavascriptのものをテストしたいと思うまで、ほとんどすべてが機能したとき、斧は落ちました。このエラーが発生しました:
.rbenv / versions / 1.9.3-p194 / lib / ruby / gems / 1.9.1 / gems / minitest-4.6.1 / lib / minitest / spec.rb:190:in `it':引数の数が間違っています(2 for 1)(ArgumentError)
このため
describe "blabla" do
it "does not do what i want it to do", js: true do
pending
end
end
js:true引数を受け入れません。面白いことに、describeブロックはjs:true引数を受け入れます。
Rails 3.2.8に戻ったとき、Rails 4のものだと思ったので、この赤ちゃんはすぐに新しいテストスイートに私を追いかけました。グーグルで一生懸命答えを見つけようとしましたが、見つかりません。私の他のRails3.2.8プロジェクトはまだ正常にテストされており、javascript引数について文句はありません。しかし、新しいアプリでは、JavaScriptのテストはありません。
私はここで途方に暮れています。これがどこから来ているのかわかりません。私の他の3.2.8アプリはまだ正常に動作しているので、おそらく更新されたgemバージョンと関係がありますか?誰かがこのエラーメッセージを見たことがありますか?エラーメッセージの190行目からいくつかのminitestバージョンについて、不平を言っているminitest / spec.rbファイルを確認しましたが、it-methodで何も変更されていません。
何が悪いのかについて何か手がかりがあれば、何か(Gemfile?test_helper.rb?)を見たいかどうか教えてください。前もって感謝します!
キャスパー