在Intellij下使用Groovy测试Java代码:无法解析类GroovyTestCase

Pat*_*ins 15 java groovy junit intellij-idea

我需要为一些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}
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在项目窗口中右键单击测试用例时,我没有得到通常用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
Run Code Online (Sandbox Code Playgroud)

尝试导入GroovyTestCaseFibonacciHeap手动导致相同的错误.当我让autocomplete为我完成名称时,IntelliJ不会添加任何import语句,就像通常使用Java代码一样.

我究竟做错了什么?

Bip*_*ipi 9

这对我有用:

  • 打开Gradle窗口(在我的情况下右侧)
  • 单击刷新按钮
  • 完成

截图


小智 6

我在IntelliJ中创建测试类时遇到了类似的问题,在com.company文件夹(我要测试的类所在的位置)之外创建新目录时,此问题已解决。

  1. 在与src文件夹相同的级别上为测试类创建一个新目录
  2. 右键单击新的测试目录,然后单击“标记目录为”->“测试资源根目录”
  3. 现在创建一个测试类,该类将自动添加到您的测试目录中。

在此处输入图片说明