Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在maven中为单元测试添加类路径?_Java_Unit Testing_Maven_Junit - Fatal编程技术网

Java 如何在maven中为单元测试添加类路径?

Java 如何在maven中为单元测试添加类路径?,java,unit-testing,maven,junit,Java,Unit Testing,Maven,Junit,我正在使用maven制作一个简单的应用程序,并为其编写单元测试。我对使用maven和使用Junit编写单元测试都是新手 我的目录结构如下:- 我的项目中使用的源代码类位于以下目录中:- project name/src/main/java/com/somename/app/packagename 主文件(包含静态主方法)位于:- project name/src/main/java/com/somename/app/app.java Maven提供的默认单元测试为:- project name/

我正在使用maven制作一个简单的应用程序,并为其编写单元测试。我对使用maven和使用Junit编写单元测试都是新手

我的目录结构如下:-

我的项目中使用的源代码类位于以下目录中:-

project name/src/main/java/com/somename/app/packagename

主文件(包含静态主方法)位于:-

project name/src/main/java/com/somename/app/app.java

Maven提供的默认单元测试为:-

project name/src/test/java/com/somename/app/AppTest.java

现在,我在上面的目录(AppTest.java)中添加了一个单元测试,这个单元测试需要访问上面描述的“packagename”目录中定义的类

如果它是一个简单的命令行,我会在编译和运行应用程序时将类路径添加到目录中

在Maven中我应该如何做同样的事情?另外,除了直接在maven中添加类路径,还有其他选择吗

当使用时(我总是推荐Maven,因为Maven都是关于约定的),在运行测试时,以下目录始终是类路径的一部分:

src/main/java
src/main/resources
src/test/java
src/test/resources

因此,运行测试不需要手动调整任何内容。
mvn test
命令只执行您想要的操作。

Maven目录结构始终添加在类路径中。如果您使用的是eclipse,则只需运行->maven build(确保安装了maven插件),否则可以直接使用mvn clean、mvn install命令在maven中构建项目。

我认为在maven中运行单元测试用例不需要任何类路径设置。如果您的项目与您定义的结构相同,那么maven将在每次构建项目时运行测试用例(可以使用-options关闭)。如果我偏离了问题,请告诉我。@ppuskar我也期待着同样的结果,但问题与我上面所说的完全一样。@ps06756您下面的评论表明问题中缺少信息。请编辑该问题以包含缺少的信息。先生,我也希望如此,但错误仍然存在,当我尝试在src/main/java中导入相关包时,它给了我一个编译器错误,即该包不存在。请您提供更多详细信息。。。如果包位于正确的位置,请右键单击项目->maven->更新项目。它将更新您的项目,可能会有所帮助you@ObuliSundar我正在从中构建我的项目terminal@ps06756“[…]但错误仍在出现[…]”什么错误?你的问题中没有描述任何错误。另外,请不要在评论中添加其他信息,而是相应地编辑您的问题。@Seelenvirtuose Ok,最终通过在相关文件中写入完整的软件包名称解决了错误,对于编辑部分,我将从下次开始记住这一点。