Home | History | Annotate | Download | only in annotations
      1 package org.testng.annotations;
      2 
      3 import java.lang.annotation.Retention;
      4 import java.lang.annotation.Target;
      5 
      6 @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
      7 @Target(java.lang.annotation.ElementType.METHOD)
      8 public @interface AfterGroups {
      9   /**
     10    * The list of groups that this configuration method will run after. If
     11    * specified it overrides the list of groups provided through
     12    * {@link #groups()} attribute. This method is guaranteed to run shortly
     13    * after the last test method that belongs to any of these groups is
     14    * invoked.
     15    */
     16   public String[] value() default {};
     17 
     18   /**
     19    * Whether methods on this class/method are enabled.
     20    */
     21   public boolean enabled() default true;
     22 
     23   /**
     24    * The list of groups this class/method belongs to. The list also describes the groups
     25    * that this configuration method will be run after (if no {@link #value()} attribute is defined).
     26    */
     27   public String[] groups() default {};
     28 
     29   /**
     30    * The list of groups this method depends on.  Every method
     31    * member of one of these groups is guaranteed to have been
     32    * invoked before this method.  Furthermore, if any of these
     33    * methods was not a SUCCESS, this test method will not be
     34    * run and will be flagged as a SKIP.
     35    */
     36   public String[] dependsOnGroups() default {};
     37 
     38   /**
     39    * The list of methods this method depends on.  There is no guarantee
     40    * on the order on which the methods depended upon will be run, but you
     41    * are guaranteed that all these methods will be run before the test method
     42    * that contains this annotation is run.  Furthermore, if any of these
     43    * methods was not a SUCCESS, this test method will not be
     44    * run and will be flagged as a SKIP.
     45    *
     46    *  If some of these methods have been overloaded, all the overloaded
     47    *  versions will be run.
     48    */
     49   public String[] dependsOnMethods() default {};
     50 
     51   /**
     52    *  For before methods (beforeSuite, beforeTest, beforeTestClass and
     53    *  beforeTestMethod, but not beforeGroups):
     54    *  If set to true, this configuration method will be run
     55    *  regardless of what groups it belongs to.
     56    *  <br>
     57    * For after methods (afterSuite, afterClass, ...):
     58    *  If set to true, this configuration method will be run
     59    *  even if one or more methods invoked previously failed or
     60    *  was skipped.
     61    */
     62   public boolean alwaysRun() default false;
     63 
     64   /**
     65    * If true, this &#64;Configuration method will belong to groups specified in the
     66    * &#64;Test annotation on the class (if any).
     67    */
     68   public boolean inheritGroups() default true;
     69 
     70   /**
     71    * The description for this method.  The string used will appear in the
     72    * HTML report and also on standard output if verbose >= 2.
     73    */
     74   public String description() default "";
     75 
     76   /**
     77    * The maximum number of milliseconds this method should take.
     78    * If it hasn't returned after this time, this method will fail and
     79    * it will cause test methods depending on it to be skipped.
     80    */
     81   public long timeOut() default 0;
     82 }
     83