2016-05-11 17 views
2

intellij ideaを使って個々のspockユニットテストを実行しようとしています。個々のテストのためのgrailsのSpockユニットテストがintellijで機能しない

は考えてみましょう:私は試験体と右コンテキストメニューを後藤 上記のテストで // rest of code def "Test Something"() { // test code below }

は、私がTest Somethingのためのテストの2種類を取得します。 1つはgrailsテストで、もう1つはjunitテストです。

thisの質問については、jUnitランナーを使用することをお勧めします。しかし、それを使用すると、コードは単純にコンパイルされません(おそらく、特定のプラグインや他のクラスが利用できないため)。私はちょうど単一のテストではなく、すべてのテストを実行していますので、これは望ましい動作であるとして

(私はかかわらず、わからない。なぜそれがテスト対象クラスが必要としないプラグインクラスを含む、すべてのクラスを、コンパイルされるだろう。Grailsのランナーを使用して)

、私は構成をチェックし、ここにスクリーンショットです: enter image description here

だから、何もコマンドと間違って見えません。

しかし、実行中のテストではTest framework quit unexpectedlyエラーが発生します。

同じコマンドをgrailsコンソール(CMDウィンドウ)から実行しようとしましたが、エラーメッセージなしで実行されます。

しかし、出力htmlファイル(ターゲット/テストレポート内)を調べてみると、実際に実行されたテストはありません。

ここでは何が起こっているのですか、個々のテストが実行されないのはなぜですか?

PS:

私は期待通りに実行test-appコマンド、テストを使用して、すべてのテストを実行します。個々の(ユニット)テストだけが実行されていません。

+0

うん... grailsバージョン、Intellijバージョンなどは?私はSpell Unit TestsをIntelliJ 2016.1、Grails 2.4.5で常時実行しています。テストメソッドを右クリックし、Grailsバージョンを実行することを選択します。テスト構成はあなたのものと同じように見えます。 – railsdog

+0

私は、テスト名に対してのみ引用符を使用します。残りは私にはよく見えます。 – Mamun

+0

@railsdog私はintellij 15.0です。私はこの同じ構成がいつも私のために働いていたと思う。しかし今では、このアプリケーションのテストではまったく動作しません!私には奇妙な問題があるようだ。また、grails cmdも個々のテストを実行していないので、問題はgrailsや自分のコードのどこかにある可能性があります! – rahulserver

答えて

1

Spockの素晴らしいテストの命名に対して支払われた代金の一部は、もはや実行する個別のテストを指定できないということです。

ここにいくつかの記事があります。最初はかなり上のポイントと思われる: Run a specific test in a single test class with Spock and Maven

この1つは、単一のテストを実行しているではないですが、スポックのテスト名の変換に関するいくつかの関連性と会談を持ち、プラスピーターNiederwieserコメントでチャイム: Can TestNG see my Spock (JUnit) test results?

この問題を回避するには、@IgnoreRestアノテーションを使用します。 @IgnoreRestで実行したいテストに注釈を付け、実行するテストクラスを指定するだけで、注釈付きテストだけが実行されます。 http://spockframework.github.io/spock/javadoc/1.0/spock/lang/IgnoreRest.html

0

コマンドライン部分に、次のGrailsのユニットテストを使用して試してみて、追加します。

-Dgrails.env =私たちが開発に実行環境を変更すると、このテストを実行します

開発。このような問題に直面しているすべての人に役立つことを願っています

関連する問題