Author: maschmid
Date: 2012-09-20 08:01:01 -0400 (Thu, 20 Sep 2012)
New Revision: 15153

Modified:
   
branches/community/Seam_2_3/seam-reference-guide/src/docbook/en-US/MigrationGuide.xml
Log:
update migration guide SeamTest section


Modified: 
branches/community/Seam_2_3/seam-reference-guide/src/docbook/en-US/MigrationGuide.xml
===================================================================
--- 
branches/community/Seam_2_3/seam-reference-guide/src/docbook/en-US/MigrationGuide.xml
       2012-09-18 14:00:05 UTC (rev 15152)
+++ 
branches/community/Seam_2_3/seam-reference-guide/src/docbook/en-US/MigrationGuide.xml
       2012-09-20 12:01:01 UTC (rev 15153)
@@ -272,37 +272,41 @@
 <orderedlist>
        <listitem>Add <programlisting 
role="JAVA">@RunWith(Arquillian.class)</programlisting> annotation to your test 
class.</listitem>
        <listitem>Your test class should extend 
<literal>org.jboss.seam.mock.JUnitSeamTest</literal> instead of 
<literal>org.jboss.seam.mock.SeamTest</literal>.</listitem>
-       <listitem>Add a method for creating an ShrinkWrap deployment, Seam 
examples and Seam integration testsuite uses helper class for that purpose for 
instance. For inspiration look
-       for instance at Booking example test modules
-        
<filename>jboss-seam-x.y.z.Final/examples/booking/booking-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java</filename>.
-        <programlisting role="JAVA">package 
org.jboss.seam.example.booking.test;
-import java.io.File;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
-import org.jboss.shrinkwrap.api.importer.ZipImporter;
+       <listitem>Add a method like <programlisting 
role="JAVA"><![CDATA[@Deployment(name="_your_test_name_")
+@OverProtocol("Servlet 3.0")
+public static org.jboss.shrinkwrap.api.Archive<?> 
createDeployment(){}]]></programlisting> for creating test deployment
+       archive. The following example is taken from Registration example 
testsuite. It imports the .ear archive buit with "mvn package", adds the test 
class to the deployment and replaces the WEB-INF/web.xml file with a 
SeamTest-specific version.
+       <programlisting role="JAVA"><![CDATA[@Deployment(name="RegisterTest")
+@OverProtocol("Servlet 3.0")
+public static Archive<?> createDeployment()
+{
+   EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, 
"seam-registration.ear").importFrom(new 
File("../registration-ear/target/seam-registration.ear"))
+              .as(EnterpriseArchive.class);
+   WebArchive web = er.getAsType(WebArchive.class, "registration-web.war");
+   web.addClasses(RegisterTest.class);
 
-public class Deployments {
-   public static EnterpriseArchive bookingDeployment() {
-      return ShrinkWrap.create(ZipImporter.class, 
"seam-booking.ear").importFrom(new 
File("../booking-ear/target/seam-booking.ear"))
-            .as(EnterpriseArchive.class);
-   }
-}</programlisting>
+   // Install org.jboss.seam.mock.MockSeamListener
+   web.delete("/WEB-INF/web.xml");
+   web.addAsWebInfResource("web.xml");
 
-        </listitem>    
-       <listitem>Add a method like <programlisting 
role="JAVA"><![CDATA[@Deployment(name="_your_test_name_")
-       @OverProtocol("Servlet 3.0")
-       public static org.jboss.shrinkwrap.api.Archive<?> 
createDeployment(){}]]></programlisting> for creating test deployment
-       archive. The following example is taken from Booking example testsuite:
-       <programlisting role="JAVA"><![CDATA[@Deployment(name="BookingTest")
-   @OverProtocol("Servlet 3.0") 
-   public static Archive<?> createDeployment()
-   {
-      EnterpriseArchive er = Deployments.bookingDeployment();
-      WebArchive web = er.getAsType(WebArchive.class, "booking-web.war");
-      web.addClasses(BookingTest.class);
-      return er;
-   }]]></programlisting>
+   return er;
+}]]></programlisting>
        </listitem>
+    <listitem>Create a SeamTest-specific web.xml contaning the 
org.jboss.seam.mock.MockSeamListener, instead of the usual 
org.jboss.seam.servlet.SeamListener. 
+    <programlisting role="XML"><![CDATA[
+<?xml version="1.0" ?>
+<web-app version="3.0"
+         xmlns="http://java.sun.com/xml/ns/javaee";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd";>
+         
+    <listener>
+        <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+    </listener>
+
+</web-app>
+]]></programlisting>
+    </listitem>
        <listitem>Add <filename>arquillian.xml</filename> file into root of 
your classpath for running Arquillian test(s). The file content should specify 
path to
        remote or managed container and some specific options for JVM or 
Arquillian. The example of arquillian file is at
        
<filename>jboss-seam-x.y.z.Final/examples/booking/booking-tests/src/test/resources-integration/arquillian.xml</filename>:

_______________________________________________
seam-commits mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-commits

Reply via email to