Package: org.gradle.api.tasks.testing.testng

## [Java] Class TestNGOptions

- org.gradle.api.tasks.testing.testng.TestNGOptions

- The TestNG specific test options.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static String` | `DEFAULT_CONFIG_FAILURE_POLICY` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `TestNGOptions (File projectDir)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `TestNGOptions` | `excludeGroups(String... excludeGroups)`
    `String` | `getAnnotations()`
    `String` | `getConfigFailurePolicy()` Option for what to do for other tests that use a configuration step when that step fails.
    `Set<String>` | `getExcludeGroups()` The set of groups to exclude.
    `boolean` | `getGroupByInstances()`
    `Set<String>` | `getIncludeGroups()` The set of groups to run.
    `static String` | `getJAVADOC_ANNOTATIONS()`
    `static String` | `getJDK_ANNOTATIONS()`
    `boolean` | `getJavadocAnnotations()` When true, Javadoc annotations are used for these tests.
    `Set<String>` | `getListeners()` Fully qualified classes that are TestNG listeners (instances of org.testng.ITestListener or org.testng.IReporter).
    `File` | `getOutputDirectory()` The location to write TestNG's output.
    `String` | `getParallel()` The parallel mode to use for running the tests - one of the following modes: methods, tests, classes or instances.
    `boolean` | `getPreserveOrder()`
    `protected File` | `getProjectDir()`
    `String` | `getSuiteName()` Sets the default name of the test suite, if one is not specified in a suite XML file or in the source code.
    `groovy.xml.MarkupBuilder` | `getSuiteXmlBuilder()`
    `List<File>` | `getSuiteXmlFiles()` The suiteXmlFiles to use for running TestNG.
    `StringWriter` | `getSuiteXmlWriter()`
    `List<File>` | `getSuites(File testSuitesDir)`
    `String` | `getTestName()` Sets the default name of the test, if one is not specified in a suite XML file or in the source code.
    `List` | `getTestResources()` List of all directories containing Test sources.
    `int` | `getThreadCount()` The number of threads to use for this run.
    `boolean` | `getUseDefaultListeners()`
    `TestNGOptions` | `includeGroups(String... includeGroups)`
    `boolean` | `isGroupByInstances()` Indicates whether the tests should be grouped by instances.
    `boolean` | `isJavadocAnnotations()`
    `boolean` | `isPreserveOrder()` Indicates whether the tests should be run in deterministic order.
    `boolean` | `isUseDefaultListeners()` Whether the default listeners and reporters should be used.
    `TestNGOptions` | `javadocAnnotations()`
    `TestNGOptions` | `jdkAnnotations()`
    `Object` | `methodMissing(String name, Object args)`
    `Object` | `propertyMissing(String name)`
    `void` | `setAnnotationsOnSourceCompatibility(JavaVersion sourceCompatibilityProp)`
    `void` | `setConfigFailurePolicy(String configFailurePolicy)`
    `void` | `setExcludeGroups(Set<String> excludeGroups)`
    `void` | `setGroupByInstances(boolean groupByInstances)`
    `void` | `setIncludeGroups(Set<String> includeGroups)`
    `void` | `setJavadocAnnotations(boolean javadocAnnotations)`
    `void` | `setListeners(Set<String> listeners)`
    `void` | `setOutputDirectory(File outputDirectory)`
    `void` | `setParallel(String parallel)`
    `void` | `setPreserveOrder(boolean preserveOrder)`
    `void` | `setSuiteName(String suiteName)`
    `void` | `setSuiteXmlBuilder(groovy.xml.MarkupBuilder suiteXmlBuilder)`
    `void` | `setSuiteXmlFiles(List<File> suiteXmlFiles)`
    `void` | `setSuiteXmlWriter(StringWriter suiteXmlWriter)`
    `void` | `setTestName(String testName)`
    `void` | `setTestResources(List testResources)`
    `void` | `setThreadCount(int threadCount)`
    `void` | `setUseDefaultListeners(boolean useDefaultListeners)`
    `groovy.xml.MarkupBuilder` | `suiteXmlBuilder()`
    `void` | `suites(String... suiteFiles)` Add suite files by Strings.
    `void` | `suites(File... suiteFiles)` Add suite files by File objects.
    `TestNGOptions` | `useDefaultListeners()`
    `TestNGOptions` | `useDefaultListeners(boolean useDefaultListeners)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### public static final String DEFAULT_CONFIG_FAILURE_POLICY

  - ### Constructor Detail

    - #### public TestNGOptions(File projectDir)

  - ### Method Detail

    - #### public TestNGOptions excludeGroups(String... excludeGroups)

    - #### public String getAnnotations()

    - #### public String getConfigFailurePolicy()

      Option for what to do for other tests that use a configuration step when that step fails. Can be "skip" or "continue", defaults to "skip".

    - #### public Set<String> getExcludeGroups()

      The set of groups to exclude.

    - #### @Incubating public boolean getGroupByInstances()

    - #### public Set<String> getIncludeGroups()

      The set of groups to run.

    - #### public static String getJAVADOC_ANNOTATIONS()

    - #### public static String getJDK_ANNOTATIONS()

    - #### public boolean getJavadocAnnotations()

      When true, Javadoc annotations are used for these tests. When false, JDK annotations are used. If you use Javadoc annotations, you will also need to specify "sourcedir". Defaults to JDK annotations if you're using the JDK 5 jar and to Javadoc annotations if you're using the JDK 1.4 jar.

    - #### public Set<String> getListeners()

      Fully qualified classes that are TestNG listeners (instances of org.testng.ITestListener or org.testng.IReporter). By default, the listeners set is empty. Configuring extra listener:

           apply plugin: 'java'

           test { useTestNG() { //creates emailable HTML file //this reporter typically ships with TestNG library listeners << 'org.testng.reporters.EmailableReporter' } }

    - #### @Incubating @OutputDirectory public File getOutputDirectory()

      The location to write TestNG's output.

      Defaults to the owning test task's location for writing the HTML report.

      Since:
        1.11

    - #### public String getParallel()

      The parallel mode to use for running the tests - one of the following modes: methods, tests, classes or instances. Not required. If not present, parallel mode will not be selected

    - #### public boolean getPreserveOrder()

    - #### protected File getProjectDir()

    - #### public String getSuiteName()

      Sets the default name of the test suite, if one is not specified in a suite XML file or in the source code.

    - #### public groovy.xml.MarkupBuilder getSuiteXmlBuilder()

    - #### public List<File> getSuiteXmlFiles()

      The suiteXmlFiles to use for running TestNG. Note: The suiteXmlFiles can be used in conjunction with the suiteXmlBuilder.

    - #### public StringWriter getSuiteXmlWriter()

    - #### public List<File> getSuites(File testSuitesDir)

    - #### public String getTestName()

      Sets the default name of the test, if one is not specified in a suite XML file or in the source code.

    - #### public List getTestResources()

      List of all directories containing Test sources. Should be set if annotations is 'Javadoc'.

    - #### public int getThreadCount()

      The number of threads to use for this run. Ignored unless the parallel mode is also specified

    - #### public boolean getUseDefaultListeners()

    - #### public TestNGOptions includeGroups(String... includeGroups)

    - #### @Incubating public boolean isGroupByInstances()

      Indicates whether the tests should be grouped by instances. Grouping by instances will result in resolving test method dependencies for each instance instead of running the dependees of all instances before running the dependants. Not required. If not present, the tests will not be grouped by instances.

    - #### public boolean isJavadocAnnotations()

    - #### @Incubating public boolean isPreserveOrder()

      Indicates whether the tests should be run in deterministic order. Preserving the order guarantees that the complete test (including

      BeforeXXX:
        and
      @AfterXXX) is run in a test thread before the next test is run. Not required. If not present, the order will not be preserved.

    - #### public boolean isUseDefaultListeners()

      Whether the default listeners and reporters should be used. Since Gradle 1.4 it defaults to 'false' so that Gradle can own the reports generation and provide various improvements. This option might be useful for advanced TestNG users who prefer the reports generated by the TestNG library. If you cannot live without some specific TestNG reporter please use listeners property. If you really want to use all default TestNG reporters (e.g. generate the old reports):

           apply plugin: 'java'

           test { useTestNG() { //report generation delegated to TestNG library: useDefaultListeners = true }

           //turn off Gradle's HTML report to avoid replacing the //reports generated by TestNG library: reports.html.enabled = false }

      Please refer to the documentation of your version of TestNG what are the default listeners. At the moment of writing this documentation, the default listeners are a set of reporters that generate: TestNG variant of HTML results, TestNG variant of XML results in JUnit format, emailable HTML test report, XML results in TestNG format.

    - #### public TestNGOptions javadocAnnotations()

    - #### public TestNGOptions jdkAnnotations()

    - #### public Object methodMissing(String name, Object args)

    - #### public Object propertyMissing(String name)

    - #### public void setAnnotationsOnSourceCompatibility(JavaVersion sourceCompatibilityProp)

    - #### public void setConfigFailurePolicy(String configFailurePolicy)

    - #### public void setExcludeGroups(Set<String> excludeGroups)

    - #### @Incubating public void setGroupByInstances(boolean groupByInstances)

    - #### public void setIncludeGroups(Set<String> includeGroups)

    - #### public void setJavadocAnnotations(boolean javadocAnnotations)

    - #### public void setListeners(Set<String> listeners)

    - #### @Incubating public void setOutputDirectory(File outputDirectory)

    - #### public void setParallel(String parallel)

    - #### @Incubating public void setPreserveOrder(boolean preserveOrder)

    - #### public void setSuiteName(String suiteName)

    - #### public void setSuiteXmlBuilder(groovy.xml.MarkupBuilder suiteXmlBuilder)

    - #### public void setSuiteXmlFiles(List<File> suiteXmlFiles)

    - #### public void setSuiteXmlWriter(StringWriter suiteXmlWriter)

    - #### public void setTestName(String testName)

    - #### public void setTestResources(List testResources)

    - #### public void setThreadCount(int threadCount)

    - #### public void setUseDefaultListeners(boolean useDefaultListeners)

    - #### public groovy.xml.MarkupBuilder suiteXmlBuilder()

    - #### public void suites(String... suiteFiles)

      Add suite files by Strings. Each suiteFile String should be a path relative to the project root.

    - #### public void suites(File... suiteFiles)

      Add suite files by File objects.

    - #### public TestNGOptions useDefaultListeners()

    - #### public TestNGOptions useDefaultListeners(boolean useDefaultListeners)