2011-12-19 21 views
2

何かについて不思議だったのは、バックグラウンドが失敗したときにキュウリが終了コード0(私が知る限り「OK」を意味する)を返します。キュウリ:バックグラウンドがコード0で終了しても失敗する

ここで失敗する手順は、おそらくバックグラウンドにあるべきではありません。しかし、誰かがこの出口コードを返す哲学を知っていますか? バグですか、機能ですか?

付録: より具体的な例:

Feature: Figuring out how Cucumber works 

As a developer 
I want to find out why cuccies fail, but my build doesnt 
In order to have more confidence in my build 

Background: logging in into the system 
    Given I am logged in 

Scenario: creating a new test set 
    When I do something 
    Then I should see "you've done something" 

それは失敗することができます終了コードで0 を返す:

Background: logging in into the system 
    Given I am logged in 

Scenario: creating a new test set 
    Then I should see "there's no way you see this" 
    When I do something 
    Then I should see "you've done something" 

出力は、Aを示し このコードが通過すると言うことができます失敗したステップを終了コード1で返します 失敗したステップをバックグラウンドに移動すると:

Background: logging in into the system 
    Given I am logged in 
    Then I should see "there's no way you see this" 

Scenario: creating a new test set 
    When I do something 
    Then I should see "you've done something" 

出力はまだそれが失敗を示し、それが終了コードを返す0

答えて

1

背景には、それは前にした後に実行されていることを、唯一の違いはあることで、前のように実際にあります。そして、Background/Before(一般的に)を使ってシナリオの前提条件を設定しているので、テストプロセスが失敗した場合、0とは異なるエラーコードが示唆されます。あなたの前提条件を間違えてしまった。

私の推測は、私は確信が持てませんが、これは「機能」であり、非常に意図しています。

+0

しかし、前提条件が失敗した場合、シナリオでも実行することはできません。したがって、私はテストプロセスが失敗することを期待しています(0でないエラーコード)。 – SirLenz0rlot

+0

いいえ。テストが失敗しなかったためです。それは "ちょうど"実行されませんでした。戻り値は、テストが失敗したかどうかを表します。 – robustus

+2

ありがとう、私は私の質問に答えていると思うが、もし私が設計上の決定(それが1であれば)に満足していない: 私の意見では、実行されていないテストです(特に実行するよう求められたとき)*悪い*テストは実行されました(結果が何であれ)。 キュウリのメーリングリストで寄稿者がどのように対応するのか疑問に思っています – SirLenz0rlot

関連する問題