You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
7.3 KiB
219 lines
7.3 KiB
<html>
|
|
<head>
|
|
<title>TestNG - Maven</title>
|
|
|
|
<link rel="stylesheet" href="testng.css" type="text/css" />
|
|
<link type="text/css" rel="stylesheet" href="http://beust.com/beust.css" />
|
|
<script type="text/javascript" src="http://beust.com/prettify.js"></script>
|
|
<script type="text/javascript" src="banner.js"></script>
|
|
|
|
<script type="text/javascript" src="http://beust.com/scripts/shCore.js"></script>
|
|
<script type="text/javascript" src="http://beust.com/scripts/shBrushJava.js"></script>
|
|
<script type="text/javascript" src="http://beust.com/scripts/shBrushXml.js"></script>
|
|
<script type="text/javascript" src="http://beust.com/scripts/shBrushBash.js"></script>
|
|
<script type="text/javascript" src="http://beust.com/scripts/shBrushPlain.js"></script>
|
|
<link type="text/css" rel="stylesheet" href="http://beust.com/styles/shCore.css"/>
|
|
<link type="text/css" rel="stylesheet" href="http://beust.com/styles/shThemeCedric.css"/>
|
|
<script type="text/javascript">
|
|
SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
|
|
SyntaxHighlighter.defaults['gutter'] = false;
|
|
SyntaxHighlighter.all();
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body onLoad="prettyPrint()">
|
|
|
|
<script type="text/javascript">
|
|
displayMenu("maven.html")
|
|
</script>
|
|
|
|
|
|
<style type="text/css">
|
|
*.P1 { font-family:Sans; font-size:10pt; margin-left:0in; margin-right:0in; text-align:left ! important; text-indent:0inch; color:#a52a2a; }
|
|
*.P2 { font-family:Sans; font-size:10pt; margin-left:0in; margin-right:0in; text-align:left ! important; text-indent:0inch; }
|
|
*.P3 { font-family:'Nimbus Roman No9 L'; font-size:12pt; margin-left:0in; margin-right:0in; text-align:left ! important; text-indent:0inch; }
|
|
*.Standard { font-family:'Nimbus Roman No9 L'; font-size:12pt; }
|
|
*.Textbody { font-family:'Nimbus Roman No9 L'; font-size:12pt; margin-top:0in; margin-bottom:0.0835in; }
|
|
*.T1 { font-weight:bold; }
|
|
*.T2 { color:#353535; }
|
|
*.T3 { color:#a52a2a; font-weight:bold; }
|
|
*.T4 { color:#a52a2a; }
|
|
*.T5 { color:#353535; font-family:Sans; font-size:10pt; }
|
|
*.T6 { color:#a52a2a; font-family:Sans; font-size:10pt; font-weight:bold; }
|
|
*.T7 { color:#a52a2a; font-family:Sans; font-size:10pt; }
|
|
p,pre { width: 80%; }
|
|
|
|
ul.toc {
|
|
list-style: none;
|
|
margin:0 0.7em 0;
|
|
padding:0;
|
|
font-family: verdana, arial, sans-serif;
|
|
}
|
|
ul.toc li {
|
|
padding:0;
|
|
margin: 0.2em 0 0;
|
|
}
|
|
ul ul {
|
|
margin:0 2em 0;
|
|
padding: 0;
|
|
list-style-type: none;
|
|
}
|
|
li a {
|
|
display: block;
|
|
text-decoration: none;
|
|
padding: 2px 10px;
|
|
width: 140px;
|
|
}
|
|
ul.sub li a {
|
|
display: block;
|
|
border-top: none;
|
|
padding: 2px 10px;
|
|
background-color: transparent;
|
|
}
|
|
</style>
|
|
|
|
<h2>TestNG Maven plug-ins</h2>
|
|
|
|
<h4>Table of Contents</h4>
|
|
<ul class="toc">
|
|
<li class="first">
|
|
<a class="summary" href="#maven2">Maven2 Plugin</a>
|
|
|
|
<ul class="sub">
|
|
<li><a href="#archetype">Archetype</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="last"><a class="summary" href="#maven1">Maven 1 Plugin</a></li>
|
|
</ul>
|
|
|
|
<!-- begin maven2 -->
|
|
<h3 id="maven2">Maven 2</h3>
|
|
|
|
<p>Maven 2 supports TestNG out of the box without the need to download any additional plugins <em>(other than TestNG itself)</em>. It is recommended that you use version 2.4 or above of the Surefire plugin (this is the case in all recent versions of Maven).</p>
|
|
|
|
<p>
|
|
You can find the full instructions on the <a href="http://maven.apache.org/plugins/maven-surefire-plugin/">Maven Surefire Plugin web site</a>. There are also <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html">TestNG-specific instructions</a>.
|
|
</p>
|
|
|
|
<h4>Specifying your pom.xml</h4>
|
|
|
|
The dependency in your project should look like the following:
|
|
|
|
<pre class="brush: xml">
|
|
<dependency>
|
|
<groupId>org.testng</groupId>
|
|
<artifactId>testng</artifactId>
|
|
<version>6.8</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</pre>
|
|
|
|
<h4>Sample Report</h4>
|
|
<p>
|
|
A sample surefire report with TestNG can be found <a href="samplereport/index.html">here</a>.
|
|
</p>
|
|
<br/>
|
|
<!-- end maven2 -->
|
|
|
|
<!-- maven2 archetype -->
|
|
<h3 id="archetype">Maven TestNG Archetype <em>(Martin Gilday)</em></h3>
|
|
<p>
|
|
Martin Gilday has added a new archetype for Maven2: to create a project using the archetype you simply have to specify my repository and the archetype ID.
|
|
</p>
|
|
<pre class="brush: text">
|
|
mvn archetype:create -DgroupId=org.martingilday -DartifactId=test1 -DarchetypeGroupId=org.martingilday -DarchetypeArtifactId=testng-archetype
|
|
-DarchetypeVersion=1.0-SNAPSHOT -DremoteRepositories=http://www.martingilday.org/repository/</pre>
|
|
|
|
<p>Of course substitute in your own groupId and artifactId.</p>
|
|
<p>Don't forget to keep checking back at <a href="http://www.martingilday.org/updates/Maven+TestNG+Archetype">Martin's blog</a> for more updates. </p>
|
|
<!-- end maven2 archetype -->
|
|
|
|
<br/><br/>
|
|
<h3 id="maven1">Maven 1 (by Andrew Glover)</h3>
|
|
|
|
<p>The TestNG Maven plug-in is quite simple and consists of
|
|
two goals and a series of optional properties.</p>
|
|
|
|
<p>Currently the 1.1 version of the plug-in is bundled with
|
|
official releases of TestNG. To utilize the plug-in, copy the
|
|
<tt>maven-testng-plugin-<version>.jar</tt> to the <tt>$MAVEN_HOME/plugins</tt>
|
|
directory.</p>
|
|
|
|
<p>For the latest version of the plug-in (1.2 as of 12/12/05),
|
|
update your <tt>maven.repo.remote</tt> to include <tt>http://www.vanwardtechnologies.com/repository/</tt>
|
|
and then issue the following command: <tt>maven plugin:download</tt>. Maven will issue a series of questions,
|
|
answer them as follows: <BR>
|
|
<BR>
|
|
<TABLE border="1" id="table1">
|
|
<TR>
|
|
<TD><tt>artifactId:</tt></TD>
|
|
<TD><tt>maven-testng-plugin</tt></TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>groupId:</TD>
|
|
<TD><tt>testng</tt></TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>version:</TD>
|
|
<TD><tt>1.2</tt></TD>
|
|
</TR>
|
|
</TABLE>
|
|
</p>
|
|
|
|
|
|
<h4>Goals</h4>
|
|
<table border="1" id="table2">
|
|
<tr>
|
|
<th>Goal</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>testng</tt></td>
|
|
<td>Runs TestNG</td>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>testng:junit-report</tt></td>
|
|
<td>Creates a JUnit style report</td>
|
|
</tr>
|
|
</table>
|
|
<h4>Properties</h4>
|
|
<table border="1" id="table3">
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Optional?</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>maven.testng.suitexml.name</tt></td>
|
|
<td>Yes</td>
|
|
<td>XML file name- defaults to <tt>testng.xml</tt></td>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>maven.testng.suitexml.dir</tt></td>
|
|
<td>Yes</td>
|
|
<td>Directory where XML file lives. Defaults to <tt>${basedir}/test/conf</tt></td>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>maven.testng.output.dir</tt></td>
|
|
<td>Yes</td>
|
|
<td>Default report directory. Defaults to <tt>${maven.build.dir}/testng-output</tt></td>
|
|
</tr>
|
|
<tr>
|
|
<td><tt>maven.testng.report.dir</tt></td>
|
|
<td>Yes</td>
|
|
<td>Directory for JUnit reports. Defaults to <tt>${maven.build.dir}/testngJunitReport</tt></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- end maven stuff -->
|
|
|
|
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
|
|
<script type="text/javascript">
|
|
_uacct = "UA-238215-2";
|
|
urchinTracker();
|
|
</script>
|
|
|
|
</body>
|