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

csbfibhn  于 2022-09-20  发布在  Java
关注(0)|答案(8)|浏览(214)

我需要为一些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测试执行的“Run All Test”选项,并且编译器抛出以下错误:

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

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

我做错了什么?

r1zk6ea1

r1zk6ea11#

这对我来说很管用:

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

2ledvvac2#

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

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

3ks5zfa0

3ks5zfa03#

在IDE本身(而不是Maven,在我的例子中)中的Build->Rebuild项目为我做到了这一点。

k4aesqcs

k4aesqcs4#

在我的案例中,我为解决问题所做的事情相当简单。

  • 关闭IntelliJ
  • 打开所附主页...
  • 单击x删除您的项目,然后...
  • 单击Import Project,导航到项目的build.graddle文件并打开。

就是这样,所有的红色荧光都消失了。

ejk8hzay

ejk8hzay5#

您必须首先配置Groovy SDK。请参见屏幕截图

官方文件中更详细的描述:Configuring Global, Project and Module SDKs

xuo3flqw

xuo3flqw6#

正如@sman591在一条评论中指出的那样,如果你收到错误:

groovyc: unable to resolve class groovy.util.GroovyTestCase

并且您已经将groovy作为依赖项,那么您可能只是错过了junit依赖项。

afdcj2ne

afdcj2ne7#

在IntelliJ Idea中,我重新引入了这个项目。这在当时奏效了。我关闭了点子。我删除了项目中的.idea文件夹。我引进了这个项目。

然后我需要设置Groovy,查看前面的答案,在我的项目的所有模块中将测试目录标记为测试源。

epggiuax

epggiuax8#

我正在选择包含build.gradle文件的根文件夹,但它不起作用。

遵循的步骤类似于@Pila

1.从IntelliJ关闭项目
1.删除.idea, log, out文件夹
1.转到Intelli JMeter 板
1.从现有资源导入项目
1.选择build.gradle文件<--这很重要
1.现在您应该看到所有任务都在后台构建,一旦构建完成,所有红线都消失了。

相关问题