1

Specs2受け入れスタイルのテストでテストを順番に実行しようとしていますが、うまくいきません。

  override def is = {     
    "Template Project REST Specification" ^
      p ^
      "The server should" ^
      "Respond with greeting on root path" ! serverRunning ^
      p ^
      "For CLIENT json objects" ^
      "Return an empty list if there are no entities" ! getEmptyClientList ^
      "Create a new entity" ! createClient ^
      "Return a non-empty list if there some entities" ! getNonEmptyClientList ^
      "Read existing" ! todo ^
      "Update existing" ! todo ^
      "Delete existing" ! todo ^
      "Handle missing fields" ! todo ^
      "Handle invalid fields" ! todo ^
      "Return error if the entity does not exist" ! todo ^
      end
  }

テストを実行すると、テストを実行するcreateClient前に、テストは新しいクライアント要素を作成し続けますgetEmptyClientList

getEmptyClientListテストの前にテストのヒープ全体を追加するとcreateClient、最後のテストを除くすべてがへの呼び出しの前に実行されcreateClientます。ただし、createClient常に最後の呼び出しに勝つため、getEmptyClientList失敗します。

強制的に順次実行するにはどうすればよいですか?Specs2ユニットテストスタイルではsequential、テストの前にキーワードを追加しただけで、すべてうまくいくでしょう。

4

1 に答える 1

2

受け入れ仕様では、sequential次のように仕様の先頭に引数を追加できます。

def is = sequential ^
  "Template Project REST Specification" ^
   p ^
   "The server should" ^
   "Respond with greeting on root path" ! serverRunning ^
   p ^
   "For CLIENT json objects" ^
   "Return an empty list if there are no entities" ! getEmptyClientList ^
   "Create a new entity" ! createClient ^
   "Return a non-empty list if there some entities" ! getNonEmptyClientList ^
   "Read existing" ! todo ^
   "Update existing" ! todo ^
   "Delete existing" ! todo ^
   "Handle missing fields" ! todo ^
   "Handle invalid fields" ! todo ^
   "Return error if the entity does not exist" ! todo ^
   end

overrideこの方法は必要ありisません。また、中括弧も必要ありません。

于 2012-11-16T22:18:31.737 に答える