我有以下目录结构的Eclipse项目:
MyProj/
src/main/java/
com.me.myproject.widgets
Widget.java
src/main/config
widget-config.xml
src/test/java
com.me.myproject.widgets
WidgetTest.java
src/test/config
widget-test-config.xml
该Widget
类读取它的配置(XML)从classpath中的任何地方文件中,并用它来配置它的属性。
我想只得到WidgetTest
的测试用例(所有书面使用JUnit)以Eclipse内运行,当我用鼠标右键单击该文件,进入Run As >> JUnit Test
。 我想我还是得跑它作为自己的配置类路径的自定义运行配置 ,但我不知道这一点,因为我从来没有这样做过。
有谁知道我能得到一个定制的运行配置运行WidgetTest.java
作为JUnit测试,并成功地将src/test/config/widget-test-config.xml
的类路径? 提前致谢!
请注意,这个问题不是关于如何从运行时类路径中读取的资源,它对如何得到它的基于Eclipse的JUnit运行配置类路径摆在首位!
我的印象是,只要你有下src/test/config/widget-test-config.xml
里面有什么Eclipse中认为是源文件夹,它应该已经在类路径。
为src /测试Eclipse的源文件夹? 如果是,你仍然得到问题,请尝试以下实验:
如果小部件测试-config.xml文件复制到src根可Widget类看过吗?
如是
那么它是不是在classpath的测试文件夹的问题,你可能会想尝试手动添加它像这样。
右击WidgetTest并选择Run As -> Junit Test
。 这应该自动创建一个Junit的运行配置在访问Run -> Run Configurations
。 您可以修改它的类路径条目添加包含像这样的.xml文件的项目:
![](https://www.manongdao.com/static/images/pcload.jpg)
如果不
如果,连动.xml文件到src根(即默认包)后,窗口小部件类不能读它,然后还有别的东西错了。 在这种情况下,这将是巨大的,如果你能提供的代码WidgetTest这是试图读取.xml文件的片段。
工作守则
这里是有点工作代码:
public class A {
@Test
public void test() {
InputStream stream = A.class.getResourceAsStream("/SomeTextFile.txt");
System.out.println(stream != null);
stream = Test.class.getClassLoader()
.getResourceAsStream("SomeTextFile.txt");
System.out.println(stream != null);
}
}
以上为我工作在一个简单的Java项目,运行良好。 (运行良好手段得到“真”输出到控制台上)
我是在创造一个GitHub库,为您无痛尝试这个代码的过程。
GIT枢纽回购与测试项目
您应该能够导入项目在这个拉链,看到了代码工作。 右键点击Test类A
,然后点击Run As -> Junit Test
,你会看到两个true
的控制台。
如果您WidgetTest类写成一个JUnit测试时,Eclipse会尝试自动运行它作为一个JUnit测试。 如果没有,你应该右击在Package Explorer中的类,选择Run As >>运行配置>> Junit的选择
要运行JUnit测试:
要放置在类路径的配置文件:设置与上面运行配置时,请在右上窗格和VM参数指定的类路径中的参数标签:
-cp .:/path/to/the/config/file
但是,如果该文件是在源代码目录中包,它会自动包含在类路径中。
文章来源: Java/Eclipse: How to configure Run Configuration's Classpath for JUnit test?