小编Ale*_*dre的帖子

如何在JUnit测试中检索maven属性?

我正在为文件解析器类编写测试.parse方法接收文件名作为参数,并且必须打开它才能解析它(duh).

我写了一个测试文件,我将其放入项目目录中的test/resources目录中,并希望传递此文件来测试我的解析.由于这个项目是在CVS中,并且会被其他人操纵,我无法对文件路径进行硬编码,因此我考虑使用maven $ {basedir}属性在我的测试中构建文件名.就像是:

public void parseTest() {
    ...
    sut.parse( ${basedir} + "src/test/resources/testFile" );
    ...
}
Run Code Online (Sandbox Code Playgroud)

有人知道我怎么能做到这一点?

junit maven-2

21
推荐指数
1
解决办法
1万
查看次数

如何使用spring来解决手动创建的对象的依赖关系?

我想知道是否可以使用Spring来解决在我的程序中手动创建的对象的依赖关系.看看下面的课程:

public class TestClass {

   private MyDependency md;

   public TestClass() {
   }

   ...

   public void methodThaUsesMyDependency() {
      ...
      md.someMethod();
      ...
   }

}
Run Code Online (Sandbox Code Playgroud)

这个TestClass不是一个spring bean,但是需要MyDependency,这是一个spring bean.有没有什么方法可以通过Spring注入这个依赖,即使我在我的代码中使用new运算符实例化TestClass?

谢谢

spring dependency-injection

5
推荐指数
1
解决办法
1207
查看次数

在Eclipse中运行时加载资源时出现问题

我正在研究一个swing项目,使用maven2(来自命令行)和eclipse(没有maven集成).所以,我通过maven eclipse插件(mvn eclipse:eclipse)生成eclipse项目,在eclipse中导入它,并完成我的所有工作.

我的问题是:当我在eclipse中运行我的应用程序(作为Java应用程序)时,我找不到我的src目录中的任何资源.挖掘我的问题的信息,我从另一个问题进入这个答案.所以,我比较了以下说明的输出:

MyClass.class.getResource("/").getPath();
MyClass.class.getProtectionDomain().getCodeSource().getLocation().toString();
Run Code Online (Sandbox Code Playgroud)

那些分别给了我以下输出:

$ {workspace_loc}/$ {my_project}/target/test-classes/file:/ $ {workspace_loc}/$ {my_project}/target/classes /

检查上面的位置,我可以看到前者是空的,而另一个包含我所有编译的类和资源.所以,我得出结论,类加载器正在错误的地方寻找我的资源.所以,我想我有三个问题:

  1. 我的理解是否正确?
  2. 如果是这样,它如何找到它正在加载的类?
  3. 我该如何解决这个问题?

更新:我已经改变了我的代码,所以不是调用MyClass.class.getResource(...)或者MyClass.class.getResourceAsStream(...),我现在正在使用ClassLoader.getSystemResource(...)ClassLoader.getSystemResourceAsStream(...).通过这种方式,在日食中一切正常.我只是不知道为什么.有什么暗示吗?

java eclipse maven-2 classloader

4
推荐指数
2
解决办法
2万
查看次数