我需要为一些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
尝试手动导入GroovyTestCase
或FibonacciHeap
会导致相同的错误。当我让AutoComplete为我完成名称时,IntelliJ不会添加任何导入语句,就像它通常使用Java代码一样。
我做错了什么?
8条答案
按热度按时间r1zk6ea11#
这对我来说很管用:
2ledvvac2#
我在IntelliJ中创建测试类时遇到了类似的问题,当我在com.Company文件夹(我在其中有我想要测试的类)之外创建一个新目录时,这个问题得到了解决。
1.在与src文件夹相同的级别上为测试类创建一个新目录
1.在新的测试目录上单击鼠标右键,然后选择[将目录标记为]-->[测试资源根目录]
1.现在创建一个测试类,它应该会自动添加到您的测试目录中。
3ks5zfa03#
在IDE本身(而不是Maven,在我的例子中)中的Build->Rebuild项目为我做到了这一点。
k4aesqcs4#
在我的案例中,我为解决问题所做的事情相当简单。
x
删除您的项目,然后...Import Project
,导航到项目的build.graddle
文件并打开。就是这样,所有的红色荧光都消失了。
ejk8hzay5#
您必须首先配置Groovy SDK。请参见屏幕截图
官方文件中更详细的描述:Configuring Global, Project and Module SDKs
xuo3flqw6#
正如@sman591在一条评论中指出的那样,如果你收到错误:
并且您已经将groovy作为依赖项,那么您可能只是错过了junit依赖项。
afdcj2ne7#
在IntelliJ Idea中,我重新引入了这个项目。这在当时奏效了。我关闭了点子。我删除了项目中的
.idea
文件夹。我引进了这个项目。然后我需要设置Groovy,查看前面的答案,在我的项目的所有模块中将测试目录标记为测试源。
epggiuax8#
我正在选择包含
build.gradle
文件的根文件夹,但它不起作用。遵循的步骤类似于@Pila
1.从IntelliJ关闭项目
1.删除
.idea, log, out
文件夹1.转到Intelli JMeter 板
1.从现有资源导入项目
1.选择
build.gradle
文件<--这很重要1.现在您应该看到所有任务都在后台构建,一旦构建完成,所有红线都消失了。