私は働いています:
- スポック・コア
- スポックレポート
- スポックスプリング
- Spring MVC テスト
そして、私は次のコードを持っています:
def "findAll() Expected"(){
given: "The URL being used is: /personas/xml/personas"
url = PersonaUrlHelper.FINDALL;
when: "When the URL is being calling with a GET"
resultActions = mockMvc.perform(get(url)).andDo(print())
then: "something..."
resultActions.andExpect(status().isOk())
.andExpect(content().contentType(RequestMappingProducesJsonUtf8.PRODUCES_JSON_UTF_8))
}
2 つの観察:
1 : given: "The URL being used is: /personas/xml/personas"
URL/URI 値が手動で追加された場所を確認します。
2 :url
変数は、多くのテスト メソッドで共通であるため、インスタンス変数として定義されています。したがってdef String url
私の質問は:
Spockのlabel/blockurl
に変数を表示するにはどうすればよいですか? どのように(与えられたので…)?Spock Reportsを通じて印刷し、テスト ドキュメントを改善します。
以下を読みました: Spocklight: Unroll の追加データ変数の説明
@Unrollを回避します。where
しかし、ラベル/ブロックを回避するすべての作業に気付きました。
私はすでに次のようなことを試しました:
given: "The URL being used is: $url"
given: "The URL being used is: ${url}"
そして機能しません
次のような構文で回避したい:
def "findAll() Expected"(){
url = PersonaUrlHelper.FINDALL;
given: "The URL being used is: $url"
…. something
when: "When the URL is being calling with a GET"
では、正しい構成は何でしょうか?
PersonaUrlHelper.FINDALL
一部のSpring@RequestMapping
とこのテストメソッドで使用されるリファクタリングを行うとします。given
ラベル/ブロックのテキストを手動で更新したくない
では、正しい構文は何ですか?