web-dev-qa-db-ja.com

テストJava IntellijでGroovyを使用したコード:クラスGroovyTestCaseを解決できません

いくつかのJavaコードの簡単なテストを書く必要があります。 CTRL + SHIFT + Tを使用してIntelliJで生成し、テストライブラリとして「Groovy JUnit」を選択してから、次のテストを作成しました。

package util
class FibonacciHeapTest extends GroovyTestCase {
    FibonacciHeap<Integer> heap

    void setUp() {
        super.setUp()
        heap = new FibonacciHeap<>()
    }

    void testAddInOrder() {
        testForItems 1..1000
    }


    private void testForItems(Range<Integer> items) {
        items.each {heap << it}
        assertEquals heap.size, items.to
        items.each {assertEquals heap.remove(), it}
    }
}

ただし、プロジェクトウィンドウでテストケースを右クリックしても、通常JUnitテストで実行する[すべてのテストを実行]オプションが表示されず、コンパイラは次のエラーをスローします。

Information:2/4/15 8:15 PM - Compilation completed with 2 errors and 0 warnings in 2 sec
/home/patrick/IdeaProjects/hackerrank/src/test/Java/util/FibonacciHeapTest.groovy
Error:(3, 1) Groovyc: unable to resolve class util.FibonacciHeap
Error:(9, 1) Groovyc: unable to resolve class GroovyTestCase

GroovyTestCaseまたはFibonacciHeapを手動でインポートしようとすると、同じエラーが発生します。通常Javaコードの場合のように、オートコンプリートで名前を補完する場合、IntelliJはimportステートメントを追加しません。

私は何を間違えていますか?

15
Patrick Collins

これは私のために働いた:

  • Gradleウィンドウを開きます(私の場合は右側)
  • 更新ボタンをクリックします
  • 完了

screenshot

9
Bipi

IntelliJでテストクラスを作成する際にも同様の問題があり、com.companyフォルダー(テストしたいクラスがあった場所)の外側に新しいディレクトリを作成すると解決しました。

  1. Srcフォルダーと同じレベルにテストクラス用の新しいディレクトリを作成します
  2. 新しいテストディレクトリを右クリックし、[ディレクトリにマークを付ける]-> [テストリソースルート]をクリックします。
  3. 次に、テストディレクトリを自動的に追加するテストクラスを作成します。

enter image description here

6
Emelie Pei

ビルド-> IDE自体(私の場合はmavenとは対照的に)自体でプロジェクトをリビルドしました。

enter image description here

2
Jeffrey Knight

私の場合、問題を解決するために私がやったことはかなり簡単でした。

  • IntelliJを閉じます
  • 添付のホームページを開きます...
  • xをクリックしてプロジェクトを削除してから...
  • クリック Import Projectbuild.graddleプロジェクトのファイルを開きます。

enter image description here

これで、すべての赤の強調表示が消えました。

1
Pila

IntelliJでIDEAプロジェクトを再インポートしました。それで動作しました。アイデアを閉じました。削除しました.ideaフォルダーのプロジェクト。そして、プロジェクトをインポートしました。

次に、Groovyをセットアップし、以前の回答を参照し、プロジェクトのすべてのモジュールでテストディレクトリをテストソースとしてマークする必要がありました。

0
Yan Khonski

@ sman591がコメントで指摘したように、エラーが発生している場合:

groovyc: unable to resolve class groovy.util.GroovyTestCase

そして、あなたはすでに依存関係としてgroovyを持っているなら、おそらくあなたはちょうどjunit依存関係を見失っています。

0
Steiny

最初にGroovy SDKを構成する必要があります。スクリーンショットを見る

enter image description here

公式ドキュメントのより詳細な説明: グローバル、プロジェクト、およびモジュールSDKの構成

0
banterCZ