我在netbeans7.0下使用StrutsTestCase2.4与struts1.3
运行testCase时,显示:
Error initializing action servlet
javax.servlet.UnavailableException: The /WEB-INF/web.xml was not found.
我用谷歌搜索了这个问题,建议通过以下方式解决setContextDirectory(new File("../web"));
:
protected void setUp() throws Exception
{
super.setUp();
setContextDirectory(new File("../web"));
}
但我不太确定它的位置new File()
应该。
我的文件树是
|───build
│ ├───test
│ │ └───classes
│ │ └───com
│ │ └───stolon
│ │ ├───common
│ │ ├───database
│ │ ├───helpers
│ │ └───struts
│ └───web
│ ├───META-INF
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───stolon
│ │ ├───algorithm
│ │ ├───database
│ │ ├───helpers
│ │ ├───servlet
│ │ ├───structures
│ │ └───struts
│ └───lib
├───nbproject
│ └───private
├───src
│ ├───conf
│ └───java
│ └───com
│ └───stolon
│ ├───algorithm
│ ├───database
│ ├───helpers
│ ├───servlet
│ ├───structures
│ └───struts
├───test
│ └───com
│ └───stolon
│ ├───common
│ ├───database
│ ├───helpers
│ └───struts
└───web
├───META-INF
└───WEB-INF
我的测试文件位于 test-com-stolon-struts 下。
我刚刚遇到这个。当测试运行时,WEB-INF/web.xml(可能还有 struts-config.xml 等)必须位于类路径中。确保 netbeans 将 /build/web/ 放在测试类路径上。
如果您使用 maven,则需要添加 WEB-INF/*.xml 作为测试资源。
<testResources>
<testResource>
<directory>WEB-INF</directory>
<targetPath>/WEB-INF</targetPath>
<includes>
<include>*.xml</include>
</includes>
</testResource>
</testResources>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)