2011-01-28 5 views
2

私はEclipseとGroovyのプラグインを使用しています。私はGroovyスクリプトをデバッグしてテストするためのテストハーネスを構築しています。スクリプトは本当にシンプルですが長いですが、そのほとんどは/ else/returnです。 GroovyShellとBindingsを使って値を渡すことができます。GroovyShellでロードされたスクリプトのデバッグ(eclipseで)

問題は、私はスクリプトを呼び出して結果を得ることができますが、デバッガでそこに入ることはできません。これらのスクリプトのブレークポイントはアクティブではありません。

スクリプトをデバッグする方法はありますか? GroovyShell以外のものを使うべきでしょうか? スクリプトに関数をラップし、テストクラスからそれらの関数を呼び出すことで、スクリプトを修正したくないのです。私はバインドとGroovyShellを使用しています方法です

:私はあなたのスクリプトは、プロジェクトのクラスパス上にないことを推測してい

  def binding = new Binding(); 
      binding.lineList = [list1]; 
      binding.count = 5; 

      def shell = new GroovyShell(binding); 
      def result = shell.evaluate(new File("src/Rules/checkLimit.groovy")); 

答えて

4

。それらをクラスパスに追加する必要があります。また、パッケージのステートメントが正しいことを確認すること(または、そのソースフォルダーのデフォルトディレクトリにあることを確認すること)が望ましいです。

また、このソースフォルダをスクリプトフォルダとして指定することもできます。これにより、スクリプトが出力フォルダにコンパイルされないことが保証されます。 Preferences - > Groovy - > Compilerでこれを行うことができます。チェックボックスをクリックしてスクリプトフォルダを有効にし、正規表現を作成してフォルダを指定します。スクリプトをそのまま出力フォルダにコピーするかどうかを指定することもできます。

+0

ありがとうございます。はい、それが問題でした - スクリプトをソースフォルダに入れたり、各スクリプトに「パッケージルール」を追加する必要がありました。 – MSh

関連する問題