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

2022-09-02 03:56:15

我需要为一些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

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

我做错了什么?


答案 1

这对我有用:

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

screenshot


答案 2

我在IntelliJ中创建测试类时遇到了类似的问题,并且在com.company文件夹(我有想要测试的类)之外创建新目录时解决了这个问题。

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

enter image description here


推荐