いくつかの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ステートメントを追加しません。
私は何を間違えていますか?
IntelliJでIDEAプロジェクトを再インポートしました。それで動作しました。アイデアを閉じました。削除しました.idea
フォルダーのプロジェクト。そして、プロジェクトをインポートしました。
次に、Groovyをセットアップし、以前の回答を参照し、プロジェクトのすべてのモジュールでテストディレクトリをテストソースとしてマークする必要がありました。
@ sman591がコメントで指摘したように、エラーが発生している場合:
groovyc: unable to resolve class groovy.util.GroovyTestCase
そして、あなたはすでに依存関係としてgroovyを持っているなら、おそらくあなたはちょうどjunit依存関係を見失っています。
最初にGroovy SDKを構成する必要があります。スクリーンショットを見る
公式ドキュメントのより詳細な説明: グローバル、プロジェクト、およびモジュールSDKの構成