私はgithubで宝石をリリースしました。私はアルバ宝石との統合テストを書いています。しかし、コマンドラインとは異なる動作をするため、機能を実行できません。キュウリとアルバで発電機をテスト
レールが私のジェネレータを見つけることができない機能を実行した場合、コマンドラインで同じ手順を繰り返すと完全に動作します。
これは失敗機能
Background: A new rails application has been created with my gem
Given a rails application named "my_app" exists
And this gem is installed in that application
@announce
Scenario: Installation using default values
When I successfully run `rails generate google_authentication:install`
# this is needed because rails g returns 0 when can't find the generator
And the output should not contain "Could not find generator"
であり、これは背景が、私はデバッグしようとしたと私はbundle install
でbundle check
コマンドを変更し、私ならばことがわかっ
Given /^a rails application named "([^\"]*)" exists$/ do |app_name|
@app_name = app_name
Given "I successfully run `rm -rf #{app_name}`" # added to ensure that the working directory is clean
And "a directory named \"#{app_name}\" should not exist"
And "I successfully run `rails new #{app_name}`"
And "I cd to \"#{app_name}\""
end
When /^this gem is installed in that application$/ do
gempath = File.expand_path('../../../', __FILE__)
Given "I append to \"Gemfile\" with \"gem 'gem-name', :path => '#{gempath}'\""
And "I successfully run `bundle check`"
end
ステップ実装するコードです出力をキャプチャ、私の宝石はバンドルに記載されていません。その結果、もし私がrails g --help
ステップを書いたら、私の発電機はそこにはありません。しかし、宝石や発電機を開発することがあります(私の宝石の中には義務がありますので、バンブラー/レールはアルバの階段の中にすべてロードされていないようです)
私はこれがArubaまたはBundlerのバグだと思います。 an issue for arubaまだありません答え。
完全なコードはGithub
私はすでに見てthis solutionを試した最後のものではなく、運
何らかの理由で#{app_name}が空白の文字列になったときにテストが失敗するのは嫌です。 – corroded
同様の問題があります。私はレール3.1>をサポートする古い宝石を維持しています。問題は、バンドルインストールコマンドが失敗したことです。 Gemfile.lockをチェックすると、出力にインストールされていることが示されていますが、存在しません!私はアルバの宝石を使用していないので、それはまたアルバの問題ではありません。 – kgpdeveloper
私はそれを間違ったやり方でやっていることに気付きました。私がテストをどのように書いているかを調べてください:https://github.com/bridgeutopia/textile_editor_helper。ありがとう。 – kgpdeveloper