2017-02-17 14 views
0

私はSpockを使用して統合テストフレームワークを導入するSpringベースのWebプロジェクト(EclipseはIDE)に取り組んでいます。このプロジェクトはMavenに基づいています。この目的のために、私はGreclipseプラグインをインストールして、既存のプロジェクトをグルーヴィーな性質に変換しました。また、src/test/groovyフォルダ内のテストクラスを実行するようにMavenを設定しました。すべて正常に動作し、すべてのSpockテストは "Mavenテスト"フェーズで正常に動作しています。 Groovyテストファイルをターゲット/テストクラスにコンパイルするビルドパスを設定しました。Eclipse IDEを使用しているSpring MVCプロジェクトでSpockスクリプトが自動的にコンパイルされない

実行 - >実行構成を使用してSpockテストを実行すると問題が発生します。実行コンフィギュレーションを使用してJunitランナーとファイルを実行し、ターゲット/テストクラスからコンパイルされたテストクラスを取得します。 Spockテストスクリプトファイルを変更すると、自動的にクラスが生成されるわけではありません。Run Configuration with Run Configurationは、常に古いコンパイルされたクラスを取得します。

強制的にスクリプトをコンパイルするので、コンパイルと実行を強制するために、MavenのクリーンアップとMavenテストを必ずしも行う必要はありません。

Groovyコンパイラのオプションを "スクリプトフォルダのサポートを有効にする"ように変更していることを、他のいくつかのスレッドで見てきました。チェックとアンチェックの両方が役に立たなくなっています。 Spockスクリプトを強制的にコンパイルしないようにしました(Eclipse環境設定のGroovyコンパイラオプションで同じオプションを有効にしようとしました)

助けてください。

答えて

0

スポックテストは、Specificationを拡張するクラスとして実装されています。だから彼らは他のGroovyクラスのように扱われます。

「プロジェクト」→「自動的にビルド」のEclipseで、Eclipseがすべての変更時に自動的にクラスをコンパイルする場合。したがって、EclipseでSpockテストを変更した場合は、常に最新のコンパイル済みバージョンを使用する必要があります。

自動コンパイルが正しく機能するためには、Eclipseでソースを適切に設定する必要があります。 「ソース」タブのsrc/test/groovy/フォルダーが正しく構成されているEclipseプロジェクトで、「ビルド・パスの構成...」を確認してください。

+0

返信いただきありがとうございます。ビルドは自動的にプロジェクト上で実行するように設定されています。また、src/test/groovy/folderがProject Propertiesのソースパスに追加されます。しかし、それでも私はコンパイルされたクラスファイルを見ていません。まだ欠けているものはありますか? – user1260377

+0

問題を見つけて修正しました。私が参照しているプロジェクトでは、.proejctファイルにJavabuilderの設定がありません。 Mavenを使用してビルドを行っていたので、私はそれをキャッチできませんでした。 Javabuilderを追加すると、eclipseはファイルを変更するたびにコンパイルすることができました。 – user1260377

関連する問題