IAm*_*aja 1 java eclipse junit classpath
我有一个具有以下目录结构的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
Run Code Online (Sandbox Code Playgroud)
本Widget类读取它的配置(XML)从classpath中的任何地方文件中,并用它来配置它的属性.
WidgetTest当我右键单击该文件并转到时,我正试图在Eclipse中运行测试用例(所有用JUnit编写)Run As >> JUnit Test.我假设我必须实际运行它作为具有自己配置的类路径的自定义运行配置,但我不确定,因为我以前从未这样做过.
有没有人知道如何让自定义运行配置WidgetTest.java作为JUnit测试运行,并成功放在src/test/config/widget-test-config.xml类路径上?提前致谢!
请注意,这个问题不是关于如何从运行时类路径中读取资源,而是关于如何在Eclipse的JUnit Run Config类路径中获取它!
我的印象是,只要你有src/test/config/widget-test-config.xmlEclipse认为是源文件夹的内部,它应该已经在类路径上.
src/test是Eclipse的源文件夹吗?如果是,但您仍然遇到问题,请尝试以下实验:
如果将widget-test-config.xml复制到src根目录,Widget类可以读取吗?
那么这是一个测试文件夹不在类路径上的问题,你可能想尝试手动添加它.
右键单击WidgetTest并选择Run As -> Junit Test.这应该会自动创建一个可访问的Junit运行配置Run -> Run Configurations.您修改它的Classpath条目以添加包含.xml文件的项目,如下所示:

如果,即使将.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);
}
}
Run Code Online (Sandbox Code Playgroud)
以上对我来说在一个简单的JAVA项目中运行良好.(正常运行意味着在控制台上打印'true')
我正在为你创建一个GITHub repo,以便轻松地试用这个代码.
您应该能够在此 zip中导入项目并查看代码是否正常工作.右键单击Test类A并单击Run As -> Junit Test,您应该true在Console中看到两个.
| 归档时间: |
|
| 查看次数: |
53787 次 |
| 最近记录: |