1

特定のタグ(@server)を使用してキュウリのシナリオを実行するためのrakeタスクを設定しようとしています。プロジェクトディレクトリのルートに次のコードのrakefileがあります。

require 'cucumber/rake/task'

desc "Get SQL response and store it in a file"
Cucumber::Rake::Task.new(:server, 'Execute SQL (@server only)') do |t|
    t.cucumber_opts = [ '--tags', '@server' ]
end

task :default => :server

プロジェクトのルートにもデフォルトプロファイルのcucumber.ymlファイルがあります

default: --profile server_cache
server_cache: --format pretty --tags @server

プロジェクトフォルダにいるときにコマンドプロンプトで「jruby-Srake」を実行しようとすると、次のエラーが発生します。

「'jruby.bat.exe'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません」

タスクを間違った方法で実行しようとしていますか?

WindowsXPでjruby1.5.6バージョン1.8を使用しています。

助けてくれてありがとう!

4

1 に答える 1

2

私はこれをコメントとして投稿したでしょうが、あなたの問題はrakeとは何の関係もなく、gemのインストールと関係があります

興味があります。RubyMineを使用していますか?RubyMineのインストーラーを使用してjruby用のgemをインストールしたときに、この問題が発生しました。何らかの理由で、gemのインストール中にバッチファイルを変更します。

たとえば、rake.batファイルは次のようになります。

@ECHO OFF
@"%~dp0jruby.exe" -S rake %*

そうでない場合は、gemインストールプロセスによって更新されている可能性があります。

コマンドは正しく実行されていますが、何かがrake.bat(またはcucumber.bat、それもチェックしてください)を変更して、jruby.exeを呼び出す必要があるときに'jruby.bat.exe'の実行を含めています。私のcucumber.batは次のようになります。

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"jruby.exe" "C:/<path to jruby>/bin/cucumber" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"jruby.exe" "%~dpn0" %*
于 2011-08-25T15:34:03.583 に答える