Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
防止测试类在eclipse的源代码中可见_Eclipse_Maven_Junit - Fatal编程技术网

防止测试类在eclipse的源代码中可见

防止测试类在eclipse的源代码中可见,eclipse,maven,junit,Eclipse,Maven,Junit,假设eclipsesrc/{main,test}/{java,resources}中有一个典型的maven项目。 现在在src/main/java中的一个类中,我可以看到并编译src/test/java中的类,当然这是错误的,也是不需要的 第二个问题是,在src/test/java中使用与src/main/java中相同的类会导致资源复制错误,尽管这可以通过mvn test编译 如何调整eclipse,使其正确编译测试类并在普通源代码中隐藏测试类?这是一个非常古老的eclipse问题。不确定是否

假设eclipse
src/{main,test}/{java,resources}
中有一个典型的maven项目。 现在在
src/main/java
中的一个类中,我可以看到并编译
src/test/java
中的类,当然这是错误的,也是不需要的

第二个问题是,在
src/test/java
中使用与
src/main/java
中相同的类会导致资源复制错误,尽管这可以通过
mvn test
编译


如何调整eclipse,使其正确编译测试类并在普通源代码中隐藏测试类?

这是一个非常古老的eclipse问题。不确定是否有可能绕过它。最简单的方法是使用从命令行运行maven的CI服务器,这是一个非常老的eclipse问题。不确定是否有可能绕过它。最简单的方法是使用从命令行运行maven的CI服务器

为什么不为您的测试创建一个单独的项目?此外,您还可以在测试类名后面加上
test
,这样就不会混淆了
src/test/java
中的类是否与
src/main/java>中的类相同。我通常在
src/main/java`中有一个实现,在src/test/java中有一个适当的测试,它的名字像
WhatEverTest.java `……在
src/main/java`中,我从来没有命名为
WhatEverTest.java
……的类。此外,如果你能在src/test/java中访问这个类,我会感到惊讶
src/main/java
你能做一个这样的例子吗?此外,如果您在Eclipse中,这是一个不同的世界。@flafoux单独的项目将使maven设置中的项目数量加倍。@khmarbaise是的,当前项目使用此概念模拟静态单例进行测试-这是一个可讨论的体系结构。但在NetBeans和maven中工作。eclipse中的任何项目都是这样工作的:(为什么不为你的测试做一个单独的项目呢?你也可以用
test
作为测试类名的后缀,这样就不会有混淆了,
src/test/java
中的类真的和
src/main/java>中的类一样吗?我通常在
src/main/java`中有一个实现,在
src/test/java
src/main/java`中,我从未有过名为
WhatEverTest.java
的类……此外,如果你能在
src/main/java
中从
src/test/java
访问类,我会感到惊讶。你能做一个这样的示例项目吗?此外,如果你在Eclipse中,这是一个例子不同的世界。@flafoux单独的项目将使maven设置中的项目数量加倍。@khmarbaise是的,当前项目使用此概念模拟静态单例进行测试-这是一个可讨论的体系结构。但在NetBeans和maven中工作。eclipse中的任何项目都是这样工作的:(感谢提示,它实际上是2008年的已知错误:(感谢您的提示,这实际上是2008年的一个已知错误:(