2015-04-24 14 views
0

已经在pom.xml中我如何使用pom.xml的财产JUnit测试类

<PROPERTY_KEY>d:/../.../abc.properties</PROPERTY_KEY> 

声明一个属性,然后使用

<plugin> 
    <configuration> 
     <replacements> 
      <replacement> 
       <token>APP_PROPERTY</token> 
       <value>${PROPERTY_KEY}</value> 
       .... 
</plugin> 

,并在我的调度员的servlet使用APP_PROPERTY。 xml和控制器类。它的工作正常,因为在这种情况下,控制通过web.xml来实现,并且此web.xml中有一个用于我的dispatcher-servlet.xml的条目。 但是,当我想在我的JUNI测试类中使用相同的APP_PROPERTY时,它不会得到解决。 我必须创建一个新的dispatcher-servlet-test.xml文件(并将其放在/ src/main/resources文件夹下),因为实际的dispatcher-servlet.xml不能从JUnit测试类中运行。现在我的JUnit测试类可以选择dispatcher-servlet-test.xml。但是,它无法解析我在我的pom.xml中定义的属性(APP_PROPERTY)。 我在测试类中使用SpringJUnit4ClassRunner.class。 我该怎么做才能解决这些财产?

回答

0

测试资源需要活在src/test/resources,您应该将您的dispatcher-servlet-test.xml移到那里。一旦移动,它可能不会被过滤作为一种资源,你想要的节是一样的东西:

<build> 
<resources> 
    <resource> 
    <directory>src/test/resources</directory> 
    <filtering>true</filtering> 
    <includes> 
     <include>**/dispatcher-servlet-test.xml</include> 
    </includes> 
    </resource> 

你可能已经有类似的节在你的POM,或者如果你在一个较大的项目父工作pom.xml可能有一个节声明:

<filtering>true</filtering> 
+0

嗨,由于某种原因,它不适合我。我尝试了你的建议。我的dispatcher-servlet-test.xml包含以下行:

我的pom.xml有一个你建议的条目。 – Abhi