1

問題の宝石は私のGItHubにあります

私はLinux、特にUbuntuも使用しています。*nix システムで正しく動作するようになった後、Windows ユーザーに焦点を当てて、この時点で Linux/OSX ユーザーと互換性のある gem を作ろうとしています。

だから私はと呼ばれる宝石を書きましたfails。Ruby/Cucumber/Watir-webdriver スタックを他の言語で書かれた Web アプリケーションや他のフレームワークでテスト自動化スイートを構築するために使用できます。

次のいくつかのコマンドを使用して、ページ オブジェクトと機能ファイルを構築するための強力なコマンド ライン生成ツールを作成します。

fails g page <page object name>
fails f <feature file name>
fails n <new automated test suite name>

gem のインストール時に、ユーザーがfails <arg> <arg> <arg>...etcコマンドラインから呼び出せるようにする適切な実行可能ファイルを作成しました。ただし、gem をビルドしてインストールするときに、呼び出してページ オブジェクトを生成しようとしましたfails g page googleが、エラーが発生しました。

daniel@d:~/Downloads/fails_gem$ fails
/usr/local/bin/fails:23:in `load': /var/lib/gems/2.1.0/gems/fails-0.0.3/bin/fails:4: syntax error, unexpected tCONSTANT, expecting end-of-input (SyntaxError)
fails.rb ARGV[0] ARGV[1] ARGV[2] ARGV[3] ARGV[4] A...
                     ^
    from /usr/local/bin/fails:23:in `<main>'

このエラーは、実行可能ファイルに問題があることを示していますが、何が問題なのかよくわかりません。fails.rb最大 9 つのコマンド ライン引数で呼び出すことができる必要があります。私の実行可能ファイルは次のようになります。

#!/usr/bin/env ruby

require 'fails'
fails.rb ARGV[0] ARGV[1] ARGV[2] ARGV[3] ARGV[4] ARGV[5] ARGV[6] ARGV[7] ARGV[8] ARGV[9]

gem は本当に新しく、洗練されていないので、関心があればオープンソースのサポートは素晴らしいものです!

4

1 に答える 1

1

実行可能ファイルの内容について少し混乱しているようですbin/fails。これはプレーン Ruby である必要があります。Ruby と shell 構文の組み合わせを行で使用しようとしているようですが、fails.rb ARGV[0] ...うまくいきません。

この場合、必要なのは行だけだと思いますrequire 'fails'。これにより、ファイルがロードlib/fails.rbされ (Rubygems がlibロード パスに追加されるため)、ARGVそのファイルの内容が引き続き使用可能になります。

于 2015-08-30T01:43:19.387 に答える