Class XmlMethodSelector

  • All Implemented Interfaces:
    IMethodSelector

    public class XmlMethodSelector
    extends java.lang.Object
    implements IMethodSelector
    This class is the default method selector used by TestNG to determine which methods need to be included and excluded based on the specification given in testng.xml.
    • Field Detail

      • QUOTED_DOLLAR

        private static final java.lang.String QUOTED_DOLLAR
      • m_logged

        private final java.util.Map<java.lang.String,​java.lang.String> m_logged
      • m_includedGroups

        private java.util.Map<java.lang.String,​java.lang.String> m_includedGroups
      • m_excludedGroups

        private java.util.Map<java.lang.String,​java.lang.String> m_excludedGroups
      • m_classes

        private java.util.List<XmlClass> m_classes
      • m_isInitialized

        private boolean m_isInitialized
      • m_testMethods

        private java.util.List<ITestNGMethod> m_testMethods
    • Constructor Detail

      • XmlMethodSelector

        public XmlMethodSelector()
    • Method Detail

      • includeMethod

        public boolean includeMethod​(IMethodSelectorContext context,
                                     ITestNGMethod tm,
                                     boolean isTestMethod)
        Specified by:
        includeMethod in interface IMethodSelector
        Parameters:
        context - The selector context. The implementation of this method can invoke setHalted(true) to indicate that no other Method Selector should be invoked by TestNG after this one. Additionally, this implementation can manipulate the Map object returned by getUserData().
        tm - The test method
        isTestMethod - true if this is a @Test method, false if it's a configuration method
        Returns:
        true if this method should be included in the test run, false otherwise
      • includeMethodFromIncludeExclude

        private boolean includeMethodFromIncludeExclude​(ITestNGMethod tm,
                                                        boolean isTestMethod)
      • assignable

        private static boolean assignable​(java.lang.Class<?> sourceClass,
                                          java.lang.Class<?> targetClass)
      • logInclusion

        private void logInclusion​(java.lang.String including,
                                  java.lang.String type,
                                  java.lang.String name)
      • hasIncludedMethods

        private boolean hasIncludedMethods()
      • hasExcludedMethods

        private boolean hasExcludedMethods()
      • toStringList

        private static java.util.List<java.lang.String> toStringList​(java.util.List<XmlInclude> methods)
      • createQualifiedMethodNames

        private static java.util.List<java.lang.String> createQualifiedMethodNames​(XmlClass xmlClass,
                                                                                   java.util.List<java.lang.String> methods)
      • methodName

        private static java.lang.String methodName​(java.lang.String methodName)
      • makeMethodName

        private static java.lang.String makeMethodName​(java.lang.String className,
                                                       java.lang.String methodName)
      • checkMethod

        private static void checkMethod​(java.lang.Class<?> c,
                                        java.lang.String methodName)
      • setXmlClasses

        public void setXmlClasses​(java.util.List<XmlClass> classes)
      • getExcludedGroups

        public java.util.Map<java.lang.String,​java.lang.String> getExcludedGroups()
        Returns:
        Returns the excludedGroups.
      • getIncludedGroups

        public java.util.Map<java.lang.String,​java.lang.String> getIncludedGroups()
        Returns:
        Returns the includedGroups.
      • setExcludedGroups

        public void setExcludedGroups​(java.util.Map<java.lang.String,​java.lang.String> excludedGroups)
        Parameters:
        excludedGroups - The excludedGroups to set.
      • setIncludedGroups

        public void setIncludedGroups​(java.util.Map<java.lang.String,​java.lang.String> includedGroups)
        Parameters:
        includedGroups - The includedGroups to set.
      • isIncluded

        private static boolean isIncluded​(java.util.Collection<java.lang.String> includedGroups,
                                          boolean noGroupsSpecified,
                                          java.lang.String... groups)
      • isExcluded

        private static boolean isExcluded​(java.util.Collection<java.lang.String> excludedGroups,
                                          java.lang.String... groups)
      • isMemberOf

        private static boolean isMemberOf​(java.util.Collection<java.lang.String> list,
                                          java.lang.String... groups)
        Parameters:
        groups - Array of groups on the method
        list - Map of regexps of groups to be run
      • log

        private static void log​(java.lang.String s)
      • setExpression

        @Deprecated
        public void setExpression​(java.lang.String expression)
        Deprecated.
      • setScript

        public void setScript​(XmlScript script)
      • setTestMethods

        public void setTestMethods​(java.util.List<ITestNGMethod> testMethods)
        Description copied from interface: IMethodSelector
        Invoked when all the test methods are known so that the method selector can perform additional work, such as adding the transitive closure of all the groups being included and depended upon.
        Specified by:
        setTestMethods in interface IMethodSelector