Я использую Maven 2 для создания проекта Java - Sturts 1.2 - Spring 1.2. Я пытаюсь включить расширение JUnit для StrutsTestCase, чтобы разрешить тестирование классов действий.
Когда я пытаюсь собрать, я получаю следующую ошибку:
junit.framework.AssertionFailedError: The /WEB-INF/web.xml was not found.
at servletunit.struts.MockStrutsTestCase.getActionServlet(MockStrutsTestCase.java:344)
at servletunit.struts.MockStrutsTestCase.tearDown(MockStrutsTestCase.java:130)
Исследуя это, я узнал следующее:
- Если ваш
web.xml
файл находится в нестандартном расположении, тогда setServletConfigFile()
может использоваться для указания StrutsTestCase
, где находится файл.
- При сборке с Maven может потребоваться указать, какие ресурсы следует включить в
pom.xml
.
Я пытаюсь реализовать это, вот мой текущий прогресс:
Тестовый класс:
import servletunit.struts.MockStrutsTestCase;
public class FooActionTest extends MockStrutsTestCase {
public void setUp() throws Exception {
super.setUp();
setServletConfigFile("webapp/WEB-INF/web.xml");
}
public void testTest() throws Exception { /* stub, no content */ }
Я включил следующие testResources
в тег build
в pom.xml
.
<testResources>
<testResource>
<directory>src/test/java</directory>
<includes>
<include>*.*</include>
</includes>
</testResource>
<testResource>
<directory>webapp/WEB-INF</directory>
<includes>
<include>*.xml</include>
</includes>
</testResource>
</testResources>
Вот структура проекта:
myproject
│---src
│ |---main
| | |---java
| |
| |---test
| |---Java
|
|---target
| |---classes
| |
| |---MYPROJECT
| |---META-INF
| |---WEB-INF
| |---struts.config.xml
| |---web.xml
|
|---webapp
| |---META-INF
| |---WEB-INF
| |---struts.config.xml
| |---web.xml
|---pom.xml
Конечно, я пробовал различные варианты путей в pom.xml
и setServletConfigFile
. Я также пытался использовать setContextDirectory
, без каких-либо других результатов.