2

私は常にautospec機能と RSpec を同時に実行するために実行しますが、ローカル コンピューターですべての機能を実行するには時間がかかることがよくあります。コードをコミットする前に、すべての機能を実行します。

autospecコマンドで引数を渡したいです。autospecdoes not は明らかに引数を直接受け入れません。の出力は次のautospec -hとおりです。

    autotest [options]

options:
    -h
    -help       You're looking at it.

    -v      Be verbose.
            Prints files that autotest doesn't know how to map to
            tests.

    -q      Be more quiet.

    -f      Fast start.
            Doesn't initially run tests at start.

私はディレクトリを持っていcucumber.ymlますconfigrerun.txtRailsのルートディレクトリにもあります。cucumber -h引数に関する多くの情報を提供してくれます。

autospecとしてタグ付けされた機能に対して実行するにはどうすればよい@wipですか? 活用できると思いますconfig/cucumber.yml。プロファイル定義があります。cucumber -p wip@wip でタグ付けされた機能のみを実行するために実行できますが、 autospec.

多くの仕様ファイルと機能ファイルを操作するためのヒントをいただければ幸いです。

4

4 に答える 4

3

OSX を使用している場合は、Kicker gem を使用して、ファイルが変更されたときにキュウリを起動してみてください。

$ kicker -e "cucumber -p wip" .

残念ながら、Windows/Linux で任意のファイル監視を行う同等のプログラムがあるかどうかはわかりません。

于 2010-01-18T20:11:54.283 に答える
1

autotestファイルにプロファイルがある場合cucumber.yml、autospecはデフォルトのプロファイルの代わりにそのプロファイルを使用します。

私は@wipタスクを実行するために次のようなものを使用しています:

autotest: --format pretty --tags @wip:3 --wip features

これは基本的に「@wipでタグ付けされた最初の3つのシナリオを実行する」と言います。

autotest-allスイート全体を実行するときに自動仕様とは異なる動作が必要な場合は、プロファイルを追加することもできます(通常は赤=>緑の遷移後)。始めるための大まかな例を次に示します。

autotest-all: --require features --format pretty
于 2010-06-17T13:59:53.937 に答える
0

ヒントの 1 つは、AUTOFEATURE を false に設定することで、機能を実行せずにスペックを実行できることです。

export AUTOFEATURE=false

こうすることで、spec がすべて緑色になるまで実行し、次に AUTOFEATURE を true に戻して機能を実行し、それらがすべて合格したらリファクタリングを開始できます。

于 2010-01-14T08:45:13.563 に答える
0

autotest や autospec で機能を実行するのではなく、定期的に手動で実行します。Cucumber の機能は rspec テストほどスマートではなく、最小の変更で実行されます。TDD はまったく問題ありませんが、物事を遅くするのではなく、スピードアップすることになっています。

したがって、私は実行します:

./spec/autospec

1 つのウィンドウで、

cucumber --tags @wip
于 2010-01-14T09:15:30.477 に答える