2012-02-12 6 views
2

私はキュウリの特徴を書いています。これは、プログラム的に決定できる多くのオブジェクトに適用できます。具体的には、私はクラウド展開のためのスモークテストを作成しています(問題はクラウドツールではなくキュウリであるため、スタックオーバーフローです)。与えられたキュウリの特徴を反復する方法

Given a node matching "role:foo" 
When I connect to "automatic.eucalyptus.public_ipv4" on port "default.foo.port" 
Then I should see "Hello" 

はとautomatic.eucalyptus ...とポートが見つかったノードから来るん役割fooでノードの検索を行います。これはちょうど良い... 1つのノードのために働く。

検索では、異なる環境の複数のノードを再試行できます。 Devはおそらく1つ、テストと統合のカップルを返し、prodは変化する可能性があります。与えられたものはすでにすべてを見つけます。

各ステップでノードをループすることは実際には機能しません。いつ誰かが失敗した場合、すべてが失敗するでしょう。私はシナリオとキュウリ反復を見てきましたが、両方ともすべてのシナリオがプログラムで検索されるのではなく事前定義されていると仮定しています。

私はcuke noobですので、おそらく何か不足しています。何かご意見は?

編集

私はシナリオを反転させることによって、問題を "解決" しています。私は、情報を環境変数として渡すことによって繰り返し呼び出すことを定義するために、より大きなクラスタ定義言語に統合しようとしています。

+0

私は、このシナリオでは、あなたが何が起こると予想されるかについてもう少し詳しく知る必要があると思います。また、これはかなりテストに焦点を当てて、ここでテストしているビジネス上の価値は何ですか?テスト自体の面では、潜在的な環境のリストは知られていますか?環境あたり最大でも1つのノードしか存在しませんか?一度にすべてをテストしようとするのではなく、単一の環境に対してキュークを動かすのは意味がありますか? –

答えて

0

私はあなたにそれを正確に「どのように」言うことができないことを前もって謝罪しますが、私の友人はやや正統性のないテクニックを使って同様の問題を解決しました。彼は後で実行されるシナリオを書き出すシナリオを実行します。彼がこれを行うために書いた宝石は、cukewriterと呼ばれています。彼は宝石のgithubページでそれをかなりうまく使用する方法を説明します。これがあなたにとってもうまくいくことを願っています。

関連する問題