This page (revision-3) was last changed on 27-Aug-2014 15:14 by Dieter Käppel

This page was created on 27-Aug-2014 15:12 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
3 27-Aug-2014 15:14 3 KB Dieter Käppel to previous
2 27-Aug-2014 15:14 3 KB Dieter Käppel to previous | to last
1 27-Aug-2014 15:12 1 KB Dieter Käppel to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
[TomcatUnitProtocol] ist eine Erweiterung des [ServletUnitProtocol]. [TomcatUnitProtocol] ist Bestandteil des Projekts Tomcat7 Testing, das aus dem [Intersult Maven Repository] unter der Artifact-Id testing-tomcat7 bezogen werden kann.
[TomcatUnitProtocol] ist eine Erweiterung des [ServletUnitProtocol]. [TomcatUnitProtocol] ist Bestandteil des Projekts Tomcat7 Testing, das aus dem [Central Repository|http://search.maven.org/] unter der Artifact-Id testing-tomcat7 bezogen werden kann.
At line 29 added 57 lines
!!!Testen von JSF-Projekten
Mit der Tomcat-Unit können auch [JSF-Projekte|JSF] getestet werden. In einem JUnit-Test kann der [HtmlClient] verwendet werden, um einen JSF-Container zu erzeugen:
{{{
public class JsfTest {
@Test
public void test() throws Exception {
HtmlClient client = new HtmlClient();
Page page = client.begin(new MutableURL("unit://localhost/faces/index.xhtml", getProtocol()), null, false);
Assert.assertNotNull(page);
Element head = page.getElement("//H1");
Assert.assertNotNull(head);
Assert.assertEquals("Hello World!", head.getText());
}
private ServletUnitProtocol getProtocol() {
ServletUnitProtocol protocol = new TomcatUnitProtocol();
protocol.setWebXmlFile("src/test/webapp/WEB-INF/web.xml");
return protocol;
}
}
}}}
Damit [JSF] hochgefahren werden kann, ist [JSF Workspace] erforderlich. [JSF Workspace] ermöglicht, dass JSF-Komponenten im Workspace gefunden werden. Standardmäßig findet [JSF] nur Komponenten in JAR-Dateien.
Handelt es sich bei dem Projekt um ein Maven-Setup, können die POM-Dependencies etwa so aussehen:
{{{
<!-- Test scope -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.intersult</groupId>
<artifactId>html</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.intersult</groupId>
<artifactId>testing-tomcat7</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.intersult</groupId>
<artifactId>jsf-workspace</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
}}}
__Hinweis:__ Die Web-Root kann man dann unter src/test/webapp aufbauen. Damit befindet man sich [Maven] konform unter src/test und stört keine eventuell vorhandene Web-Root src/main/webapp.