2016-05-06 23 views
4

私はJava開発者であり、グルーヴィーテストを修正しているので、基本的なGroovyの概念や用語についてはあまり知らないとお詫び申し上げます)ここではメソッドの代わりにクロージャーを言っていますか?)テストとして実行されないspockテストでヘルパーメソッドを作成する

いずれにしても、私の望みは単純です。既存のGroovyテストで再利用できるいくつかのヘルパーメソッドを作成したいと思います。特定のテストにのみ必要なリソースの開始/停止(および他のテストの中断)など、共通のテストステップをより早く実行することができます。

しかし、このようなメソッド(closure?)を作成しようとすると、spockによってテストとして実行され、他のテストが楽しい方法で中断されるようです。テストとして実行することなく、私のスポークテストにメソッドを追加する簡単な方法はありますか?

静的に動作するかもしれませんが、クラスの@shared変数に触れるメソッドがありますので、静的が最適なオプションであるかどうかはわかりません。

+1

あなたが持っているものの実例、あなたが何を望んでいるのか、それがうまくいかない理由はどうですか? –

+2

プライベートメソッドはテストとして実行されません。 – cjstehno

答えて

7

私はユニットテストを書くために広範囲に特性を使用してきました。

各特性は、テスト機能を仕様に導入します。

trait Helper { 
    def helpTests() { 
     println "Starting Test" 
     return 2 
    } 
} 

class MySpec extends Specification 
     implements Helper { 
    def "my spec"() { 
     when: 
     def n = helpTests() 

     then: 
     n == 2 
    } 
} 

形質メソッドは明らかに実行されません。

関連する問題