タグ

spockに関するorenonihongogayabaiのブックマーク (3)

  • Groovyのmeta classによるメソッド置き換えとテスト - GeekFactory

    テスト対象コードにスリープが含まれていると、テストに時間が掛かってしまいます。いわゆるスローテストの問題です。そのため、スリープを無害なモックに置き換えることでテストの時間を短くする工夫がよく行われます。 Groovyでは meta class でスリープメソッドを置き換えることが可能です。 例 こんなメソッドがあるとします。 class CommandLifecycleManager { def commands = [] as List<Command> void waitForPending(Closure closedCommandHandler) { def pendingCommands = new ArrayList<Command>(commands) while (!pendingCommands.empty) { def closedCommands = pending

    Groovyのmeta classによるメソッド置き換えとテスト - GeekFactory
    orenonihongogayabai
    orenonihongogayabai 2015/02/09
    “metaClass”
  • BDDツール spock の Mock - なんとなくな Developer のメモ

    Groovy の BDDツール spock における Mock の使い方を簡単にご紹介します。spock の Mock は定義が簡単なので個人的にはかなり有用だと考えています。 例えば、以下のような記述でモックの処理内容が定義できます。(実行回数と戻り値の組み合わせも可) 戻り値の箇所ではクロージャを使って例外の発生などを行う事も可能です。 モックの定義例 モックオブジェクト名.メソッド名(引数の制約, ・・・) >> 戻り値 モックオブジェクト名.メソッド名(引数の制約, ・・・) >>> [戻り値1回目, 戻り値2回目, ・・・] 実行回数 * モックオブジェクト名.メソッド名(引数の制約, ・・・) なお、引数の制約では以下のような記述が可能です。 引数の制約例 モックオブジェクト名.メソッド名() //引数なし モックオブジェクト名.メソッド名(_) //何でもよい モックオブジェ

    BDDツール spock の Mock - なんとなくな Developer のメモ
  • SpockBasics — metametaweb

    Groovy/Grailsの振る舞い駆動開発 (Behavior-driven Development, BDD) フレームワーク Spockの使い方 (邦訳) Spockの基礎 Spock仕様を解剖しよう この章では, GroovyとUnitテストについての基的な知識は持っているものとします. もし, あなたがJavaプログラマで, Groovyについては何も知らないとしても, 心配は要りません. Groovyはあなたにとってもとてもなじみ深いものになると思いますよ! 実際, Groovyの主要な設計目標の一つはJavaに沿ったスクリプト言語となることなのです. 必要に応じて Groovyのドキュメント を参照してください. この章の目的は 現実的なSpock仕様が書けるまでSpockについて学ぶ あなたの好奇心をかき立てる ことです. Groovyについてもっとよく知るためには, h

  • 1