在Maven项目中进行测试:无法找到要测试的代码

时间:2016-01-05 00:42:13

标签: java maven intellij-idea junit

当我在IntelliJ中使用简单的命令行java应用程序时,我可以将测试存储在与其余代码相同的文件夹中,并使用内置工具运行JUnit测试。将我的测试放在与其他代码相同的文件夹中可能不是最佳做法,但我只是使用测试来研究Java。

今天,我创建了一个空的Maven项目(我没有使用原型。)结构似乎要我将测试放在一个特殊的test / java文件夹中。根据对this post的评论," src / test中的代码可以看到src / main,但是src / main中的代码不能对src / test中的代码使用/ see / compile, "但我还没有发现这种情况。我的IDE在我的main / java文件中引用了类的红色波浪线,并说,"无法解析符号'用户'。"我想知道我是否可能遗漏了测试文件中的内容:

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class UserTest {

    private User benny;

    @Before
    public void setUp() {
        benny = new User("benny", "long", 46, 'M');
    }

    @Test
    public void getFirstNameReturnsName() {
        assertEquals("We should receive the correct name", "benny", benny.getFirstName());
    }

}

1 个答案:

答案 0 :(得分:0)

正如确实发生的那样,当我写我的问题时,我找到了解决方案。 Blurg!

import gabrielkunkel.User; // <-- I had to import the class
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class UserTest {

    private User benny;

    @Before
    public void setUp() {
        benny = new User("benny", "long", 46, 'M');
    }


    @Test
    public void getFirstNameReturnsName() {
        assertEquals("We should receive the correct name", "benny", benny.getFirstName());
    }
}

在我以前的设置中,没有必要这样做。我肯定会赞扬可以提供更好建议或替代方法的人。 : - )