タグ

groovyに関するorenonihongogayabaiのブックマーク (7)

  • 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 のメモ
  • How to mock HttpServletRequest in Spock

    We have a ServletFilter we want to unit tests with Spock and check calls to HttpServletRequest. The following code throws java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/http/Cookie def "some meaningless test"(){ given: HttpServletRequest servletRequest = Mock(HttpServletRequest) when: 1+1 then: true } The JavaEE 5 API (and thu

    How to mock HttpServletRequest in Spock
  • XmlSlurper を使った XML の加工 - なんとなくな Developer のメモ

    Groovy には XML を処理する手段がいろいろと用意されているが、今回は XmlSlurper を使った XML の加工(要素/属性の追加・削除)と出力を試してみる事に。 とりあえず、属性の追加や削除は以下で実現可。 要素の追加: appendNode メソッドを使用 属性の追加: @属性名 に値を設定 要素の置換: replaceNode メソッドを使用 要素の削除: replaceNode メソッドを使用(実装を空にする) 出力方法は分からなくて多少苦労したが、XML(groovy.util.slurpersupport.NodeChild オブジェクト)を StreamingMarkupBuilder を使って文字列化する事でとりあえず実現できた。 sample_xmlslurper.groovy import groovy.xml.StreamingMarkupBuilder

    XmlSlurper を使った XML の加工 - なんとなくな Developer のメモ
  • SpockBasics — metametaweb

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

  • GroovyとDbUnit - blog4j 2.0

    DbUnitでもめんどくさいものはめんどくさい。 DbUnitはデータセットの定義にExcel/XML/CSVファイルを使えるけど、テストコードとテストデータが別ファイルになってしまうのが少し面倒だと思っていた。テストを書いてるときはそんなに問題にならないけど、後でテストを見たときにデータファイルを探さないといけないし、コードとデータファイルを見比べるのが面倒なときもある。Excelでシートが複数あるとさらに面倒。 それでも仕方なくやってたけど、バッチ処理をBashで書く事があって、動作確認用テストコードをGroovyで書いた。 すると、ちょっとの工夫で、DataSetの定義がテストコードの中に見やすい形で書けた。 サンプルコード # staticブロックとgroovy.sql.Sqlを使っているのはサンプル用にテーブルの作成とDAOの代わりなので気にしないでください。 ポイントは独自に定

  • ビルドツールGradleスタートアップガイドの紹介「Grails/Groovy工房 vol.2」(5/6)- テクノロジーコラム:Gradle | NTTソフトウェア

    では、ビルドに新たなタスクを追加してみましょう。 1. 新規タスクの追加 新しくタスクを定義するには、ビルドスクリプトへ以下のように記述します。

  • 1