問題タブ [rake-test]
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.
mysql - ActiveRecord::StatementInvalid: Mysql2::Error: 不明な列
TeamCity を使用して単体テストと統合テストを実行しようとしています。
rake テストを実行するステップがすでに構成されています (デフォルトでテストロード、パージなどが含まれます)。しかし、私の単体テストはすべてこれで失敗します:
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'bid_for_referred_user' in 'field list': INSERT INTO
general_settings` ...
別のバージョンの MySQL (5.5) を使用して別のサーバーでこれをセットアップし、ほとんどのテストに合格したため、何が起こっているのかわかりません。MySQLのバージョンは関連していますか? ここでは、CentOS 5.7 で 5.0.95 を使用しています。それとも、TeamCyy で何かを構成するのを忘れただけですか?
ruby-on-rails - 単体テストでの「ActionController::RoutingError: No route matches」エラー
継続的統合サーバーで単体統合テストを実行しています。同じ形式の 3 つのエラーが発生しています。ここでは、テスト "PaymentMethodsControllerTest.test_should_update_active_field" の例を示します。
これらは他のものです: ProductsControllerTest.test_should_update_active_field:
SectionsControllerTest.test_should_update_active_field:
開発者は、自分たちのテストは自分たちの環境で問題なく動作すると主張していますが、私はそうではありません。Ruby 1.9.2p320、Rails 3.2.0 を使用しています
ruby-on-rails - Rake テスト - YAML エラーが発生します。これを修正するにはどうすればよいですか?
Rake テストを実行すると、YAML ファイルに関するエラーが発生します。それを修正する方法についてのアイデアはありますか?
テストの実行: EEEEEEEE
0.070970 秒、112.7237 テスト/秒、0.0000 アサーション/秒でテストを終了しました。
1) エラー: test_should_create_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。yaml.org/faq.html をご覧ください。 正確なエラーは次のとおりです: Psych::SyntaxError: (): 次のトークンをスキャン中にトークンを開始できない文字が見つかりました 5 行目 1 列目 /Users/ka/.rvm /gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3- p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/ lib/active_record/fixtures.rb:670:in ブロック (2 レベル) in read_fixture_files' /Users/ka/.
2) エラー: test_should_destroy_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
3) エラー: test_should_get_edit(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
4) エラー: test_should_get_index(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
5) エラー: test_should_get_new(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
6) エラー: test_should_show_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
7) エラー: test_should_update_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
8) エラー: test_should_get_index(StoreControllerTest): ActiveRecord::Fixture::FormatError: /Users/ka/src/ruby-test/depot/test/fixtures/products.yml の解析中に YAML エラーが発生しました。YAML は一貫してスペースを使用してインデントする必要があることに注意してください。タブは使用できません。をご覧ください ://www.yaml.org/faq.html 正確なエラーは次のとおりです: Psych::SyntaxError: (): 行 5 列 1 /Users で次のトークンをスキャン中に、トークンを開始できない文字が見つかりました/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby -1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord -3.2.8/lib/active_record/fixtures.rb:670:ブロック内 (2 レベル) in read_fixture_files' /Users/ka/.
テスト 8 回、アサーション 0 回、失敗 0 回、エラー 8 回、スキップ 0 回 # test:functionals の実行中にエラーが発生しました! #
ruby-on-rails - 「rake test」が「rake db:seed」データを削除しないようにするにはどうすればよいですか?
私の Ruby バージョンは ruby 1.9.3p385 です。Rails のバージョンは 3.2.12 です。
以下を使用して、テスト データベースをロードします。
すべてがうまく機能します。Factory Girlのすべてのものがうまくロードされています。
test/factories.rb の内容には工場が含まれています。db/seeds.rb の内容は次のとおりです。
ここで、次のコマンドを使用してテストを実行すると:
Rails はすべてのシード データを削除し、テストは失敗します。「レーキ テスト」でデータが削除されないようにする方法が欲しいです。
私が行った他のルートは、この質問で述べたように、「rake test」コマンドの一部としてシード データをロードすることでした。しかし、それは結局、テストデータを 2 回ロードすることになります (基本的に、何らかの理由で db/seeds.rb が 2 回呼び出されます)。私はそのルートを放棄し、テストを実行するために次のことをしたいだけです:
どんな助けでも大歓迎です。基本的に、レーキ テストでデータが削除されないようにするか、db/seeds.rb を 2 回呼び出さないようにする方法を見つけたいと考えています。
ruby-on-rails - rake テストのトレースバックで「TypeError: nil を String に変換できません」をデバッグする方法は?
ruby on rails プロジェクト [1] で多くの rake テストが失敗し、すべて同じエラー (nil を String に変換できない) があり、なぜこれが起こっているのか、どのようにデバッグすればよいのかわかりません。 .
たとえば、これは rake テストの最初のトレースバックです (メッセージの最後に完全な rake テストのトレースバックを添付しました [2])。
そして、合計1448回のテストのエラーを含む200回以上のテストがあります。
問題は、どこからデバッグを開始する必要があるかということです。+90% のテストで同じエラーが発生するのはなぜですか?
ruby-on-rails - rake test の実行時にいくつかのテスト フォルダをスキップする方法
gem のテストを実行するための次の構成があります。
私のtest
フォルダー内には、skipped_tests
このタスクでテストしたくないテストを含むフォルダー (たとえば ) があります。次のような特定のフォルダーをスキップするようにパターンを調整することは可能ですか:
これについてあなたの考えを共有してください。
ありがとう
ruby - テスト前に Rake TestTask に Ruby スクリプトを実行させるにはどうすればよいですか?
テストのセットアップを処理するテスト用の「ブートストラップ」Ruby スクリプト (ライブラリが必要で、テスト変数を準備するなど) があり、テストを実行する前に Rake TestTask でこのファイルを実行する必要があります。これは可能ですか?
Rake が新しい Ruby インスタンスでテストを開始することはわかっているため、Rakefile でセットアップを行うとうまくいきません。ドキュメントには、 を使用して Ruby コマンドにオプションを渡すことができると書かれてTestTask.ruby_opts
いますが、メイン スクリプトの前にスクリプト ファイルを実行する Ruby オプションを見つけることができませんでした。私は見つけました:
しかし、それではテスト用のブートストラップ スクリプトを参照できません
ruby-on-rails - 削除されたテーブル列からのレーキ テスト エラー
そのため、Ruby on Rails プロジェクトの足場を生成しただけで、不要になった列を追加したことがわかりました。
移行を生成し、余分な列を削除しました。
次に、コード内で呼び出されたすべての列を削除しました。
しかし、「レーキ テスト」を実行すると、いくつかのエラーが発生し、この存在しない列を指しているように見えます。controller_test.rb を変更しました。
また、テストを作成する必要があり、テストを更新する必要があります
この
さらに情報が必要な場合は、さらに提供できます。