Jboss strutstestcase-如何指定web.xml和struts.xml在war文件中的位置

Jboss strutstestcase-如何指定web.xml和struts.xml在war文件中的位置,jboss,junit,struts,Jboss,Junit,Struts,我正在使用MockStrutsTestCase测试我的一些动作类,使用JUnitEE和JBoss。问题是它无法定位web.xml和struts-config.xml文件(部署在服务器上时)。正在部署的ear文件的目录结构非常简单。。ear文件分为包含所有java文件的jar文件和直接包含所有WEB-INF的war文件。所以,如果我这样做了 setConfigFile("WEB-INF/struts-config.xml"); setServletConfigFile("WEB-INF/strut

我正在使用MockStrutsTestCase测试我的一些动作类,使用JUnitEEJBoss。问题是它无法定位web.xml和struts-config.xml文件(部署在服务器上时)。正在部署的ear文件的目录结构非常简单。。ear文件分为包含所有java文件的jar文件和直接包含所有WEB-INF的war文件。所以,如果我这样做了

setConfigFile("WEB-INF/struts-config.xml");
setServletConfigFile("WEB-INF/struts-config.xml");
这应该指向相应xml文件的位置。但它给出了一个畸形的Durlexception,等等

当我测试action类而不在服务器上部署它时,并且在本地文件系统上指定contextDirectory的路径时,它可以正常工作。因此,我推测在服务器上部署时,我无法给出文件的正确位置

另外,是不是MockStrutsTestCase不能用于服务器上的测试?或者我必须使用CactusStrutsTestCase吗?

试试下面的方法

setConfigFile("WEB-INF/classes/struts-config.xml"); 

struts配置文件不在classes文件夹中……它直接在WEB-INF中……此外,MockStrutsTestCase可以用于服务器上的测试,或者可以使用CactStrutsTestCase。当我们部署war文件时,部署在服务器上的Build会生成一个新文件夹“classes”,并且所有源程序包都将移到该文件夹中。因此,struts.xml文件也将出现在本文中。您可以检查服务器上部署的war文件的结构。在我的war文件的结构中,WEB-INF下没有classes文件夹