当我在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());
}
}
答案 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());
}
}
在我以前的设置中,没有必要这样做。我肯定会赞扬可以提供更好建议或替代方法的人。 : - )