1   package org.apache.maven.surefire.its;
2   
3   
4   import junit.framework.TestCase;
5   import org.apache.maven.it.Verifier;
6   import org.apache.maven.it.util.ResourceExtractor;
7   
8   import java.io.File;
9   import java.util.ArrayList;
10  import java.util.Arrays;
11  import java.util.List;
12  import java.util.Set;
13  
14  /**
15   * Use -Dtest to run a single TestNG test, overriding the suite XML parameter.
16   * 
17   * @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
18   * 
19   */
20  public class TestNgSuiteXmlSingleTest
21      extends TestCase
22  {
23      public void testTestNGSuite()
24          throws Exception
25      {
26          File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-twoTestCaseSuite" );
27  
28          Verifier verifier = new Verifier( testDir.getAbsolutePath() );
29          List goals = new ArrayList();
30          goals.add( "test" );
31          goals.add( "-Dtest=TestNGTestTwo" );
32          verifier.executeGoals( goals );
33          verifier.verifyErrorFreeLog();
34          verifier.resetStreams();
35  
36          List reports = HelperAssertions.extractReports( ( new File[] { testDir } ) );
37          ITSuiteResults results = HelperAssertions.parseReportList( reports );
38          HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, results );
39      }
40  
41  }