maven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r398656 - in /maven/plugins/trunk/maven-surefire-plugin/src/site: apt/howto.apt site.xml
Date Mon, 01 May 2006 18:07:19 GMT
Author: brett
Date: Mon May  1 11:07:17 2006
New Revision: 398656

URL: http://svn.apache.org/viewcvs?rev=398656&view=rev
Log:
add docs

Modified:
    maven/plugins/trunk/maven-surefire-plugin/src/site/apt/howto.apt
    maven/plugins/trunk/maven-surefire-plugin/src/site/site.xml

Modified: maven/plugins/trunk/maven-surefire-plugin/src/site/apt/howto.apt
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-surefire-plugin/src/site/apt/howto.apt?rev=398656&r1=398655&r2=398656&view=diff
==============================================================================
--- maven/plugins/trunk/maven-surefire-plugin/src/site/apt/howto.apt (original)
+++ maven/plugins/trunk/maven-surefire-plugin/src/site/apt/howto.apt Mon May  1 11:07:17 2006
@@ -3,14 +3,44 @@
  ------
  Johnny R. Ruiz III <jruiz@exist.com>
  Allan Ramirez <aramirez@apache.org>
+ Brett Porter <brett@apache.org>
  ------
  September 20, 2005
 
 How to Use
 
+* Using different testing providers
+
+  Tests in your tes source directory can be any combination of the following:
+
+   * Test NG
+
+   * JUnit
+
+   * POJO
+
+  Which providers are available is controlled simply by the inclusion of the appropriate
+  dependencies (ie, junit:junit for JUnit, org.testng:testng 4.7+ for Test NG). Since this
is
+  required to compile the test classes anyway, no additional configuration is required.
+
+  Note that any normal Surefire integration works identically no matter which providers are
+  in use - so you can still produce a Cobertura report and a Surefire results report on your
+  project web site for your Test NG tests, for example.
+
+  The POJO provider above allows you to write tests that do not depend on JUnit. They behave
in
+  the same way, running all <<<test*>>> methods that are public in the
class, but the API
+  dependency is not required. To perform assertions, the JDK 1.4 <<<assert>>>
keyword can be
+  used, or you can use <<<org.apache.maven.surefire.assertion.Assert>>>.
+
+  All of the providers support the following configuration. However, there are additional
+  options available if you are running TestNG tests (including if you are using TestNG to
+  execute your JUnit tests, which occurs by default if both are present in Surefire).
+
+  See {{{testng.html} Test NG Configuration}} for more information.
+
 * Skipping Tests
 
- These example shows how to skip test when using m2:
+ To skip running the tests for a particular project, you configure the skip parameter:
 
 -----
 <project>
@@ -38,7 +68,7 @@
 
 * Using System Properties
 
- To add a System property, you can try this one.
+ To add a System property, use the following configuration:
 
 -----
 <project>
@@ -89,8 +119,14 @@
 </project>
 -----
 
- You may need to fork due to an issue with java.lang.LinkageError: loader constraints violated
when linking
- system classes - e.g. javax.*. If this happens you need to fork and you need to disable
childDelegation.
+ <<Note:>> You do not need to manually enable assertions if you are using them
in your unit tests - Surefire enables
+ them on your test classes automatically under JDK 1.4+.
+
+* Class Loading Issues
+
+ By default, Surefire loads classes "child first", like a web application - meaning your
dependencies take precedence over those
+ in the JDK. With endorsed APIs like XML parsers, this may cause problems. You can either
make sure you provide a full, compatible
+ implementation, or revert to "parent first" class loading by setting the <<<childDelegation>>>
flag to <<<false>>>:
 
 ----
 <project>
@@ -102,8 +138,6 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <forkMode>once</forkMode>
-          <testFailureIgnore>true</testFailureIgnore>
           <childDelegation>false</childDelegation>
         </configuration>       
 
@@ -116,49 +150,17 @@
 
 * Tests Inclusion and Exclusion
 
-  The following are the sample test classes.
-
-  TestCircle.java.\
-  TestRectangle.java.\
-  TestSquare.java.\
-  TestTriangle.java.\
-  PentagonTest.java.\
-  HeptagonTest.java.\
-  OctagonTest.java.\
-  Sample.java.
-
 ** Inclusions
   
-  By default, the surefire plugin will automatically include all test classes with the following
wildcard patterns
+  By default, the surefire plugin will automatically include all test classes with the following
wildcard patterns:
 
-  <"**/Test*.java"> - includes all of its subdirectory and all java filename that starts
with "Test".\
-  <"**/*Test.java"> - includes all of its subdirectory and all java filename that ends
with "Test".\
-  <"**/*TestCase.java"> - includes all of its subdirectory and all java filename that
ends with "TestCase".
+   * <"**/Test*.java"> - includes all of its subdirectory and all java filename that
starts with "Test".
 
-  If your test classes does not go with the naming convention, then configure surefire plugin
and include your test.
+   * <"**/*Test.java"> - includes all of its subdirectory and all java filename that
ends with "Test".
 
-+---+
-<project>
-  ...
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <includes>
-            <include>Sample.java</include>
-          </includes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  ...
-</project>
-+---+  
+   * <"**/*TestCase.java"> - includes all of its subdirectory and all java filename
that ends with "TestCase".
 
-  Another scenario to use inclusion is when you most of your test classes should be excluded
and only few of them are 
-  need to be included.
+  If your test classes does not go with the naming convention, then configure surefire plugin
and include your test.
 
 +---+
 <project>
@@ -169,12 +171,8 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <excludes>
-            <exclude>**/*.java</exclude>
-          </excludes>
           <includes>
-            <include>PentagonTest.java</include>
-            <include>OctagonTest.java</include>
+            <include>Sample.java</include>
           </includes>
         </configuration>
       </plugin>
@@ -184,14 +182,11 @@
 </project>
 +---+  
 
-
 ** Exclusions
 
   There are certain times that some tests are causing the build to fail. If the bad test
classes are only few 
   we may exclude them to continue the build. Exclusions can be done by the following:
 
-  * Excluding per java file.
-  
 +---+
 <project>
   ...
@@ -202,8 +197,8 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <excludes>
-            <exclude>TestCircle.java</exclude>
-            <exclude>TestSquare.java</exclude>
+            <exclude>**/TestCircle.java</exclude>
+            <exclude>**/TestSquare.java</exclude>
           </excludes>
         </configuration>
       </plugin>
@@ -212,33 +207,16 @@
   ...
 </project>
 +---+
-  
-  The above example will exclude TestCircle.java and TestSquare.java from the unit testing
of surefire plugin.
- 
-  * Excluding test using wildcards.
 
-+---+
-<project>
-  ...
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>**/Test*.java</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  ...
-</project>
-+---+
+* Running a single test
 
-  The above example will exclude all its subfolders and java files that starts with "Test".
+  During development, you may run a single test class repeatedly. To run this through Maven,
you must use the <<<test>>> parameter.
+  For example:
 
- There are other parameters that you can configure like testFailureIgnore, reportsDirectory,
test , etc.
++---+
+mvn -Dtest=TestCircle test
++---+
+  
+ There are other parameters that you can configure like testFailureIgnore, reportsDirectory,
and so on.
  For full documentation, click {{{index.html}here}}.
  

Modified: maven/plugins/trunk/maven-surefire-plugin/src/site/site.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-surefire-plugin/src/site/site.xml?rev=398656&r1=398655&r2=398656&view=diff
==============================================================================
--- maven/plugins/trunk/maven-surefire-plugin/src/site/site.xml (original)
+++ maven/plugins/trunk/maven-surefire-plugin/src/site/site.xml Mon May  1 11:07:17 2006
@@ -35,6 +35,7 @@
     <menu name="Overview">
       <item name="Introduction" href="introduction.html"/>
       <item name="How to Use" href="howto.html"/>
+      <item name="Using Test NG" href="testng.html"/>
     </menu>
     ${reports}
   </body>



Mime
View raw message