1336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpackage org.testng.annotations;
2336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
3336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport java.lang.annotation.Retention;
4336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport java.lang.annotation.Target;
5336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
6336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
7336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust@Target(java.lang.annotation.ElementType.METHOD)
8336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpublic @interface AfterClass {
9336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
10336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * Whether methods on this class/method are enabled.
11336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
120f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin  public boolean enabled() default true;
130f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
14336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
150f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * The list of groups this class/method belongs to.
16336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
17336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public String[] groups() default {};
18336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
19336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
20336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * The list of groups this method depends on.  Every method
21336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * member of one of these groups is guaranteed to have been
22336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * invoked before this method.  Furthermore, if any of these
23336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * methods was not a SUCCESS, this test method will not be
240f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * run and will be flagged as a SKIP.
25336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
26336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public String[] dependsOnGroups() default {};
270f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
28336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
29336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * The list of methods this method depends on.  There is no guarantee
30336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * on the order on which the methods depended upon will be run, but you
31336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * are guaranteed that all these methods will be run before the test method
32336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * that contains this annotation is run.  Furthermore, if any of these
33336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * methods was not a SUCCESS, this test method will not be
340f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * run and will be flagged as a SKIP.
350f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   *
36336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  If some of these methods have been overloaded, all the overloaded
37336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  versions will be run.
38336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
39336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public String[] dependsOnMethods() default {};
40336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
41336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
42336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  For before methods (beforeSuite, beforeTest, beforeTestClass and
43336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  beforeTestMethod, but not beforeGroups):
44336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  If set to true, this configuration method will be run
450f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   *  regardless of what groups it belongs to.
46336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  <br>
470f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * For after methods (afterSuite, afterClass, ...):
48336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  If set to true, this configuration method will be run
49336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  even if one or more methods invoked previously failed or
50336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   *  was skipped.
51336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
52336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public boolean alwaysRun() default false;
530f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
54336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
55336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * If true, this &#64;Configuration method will belong to groups specified in the
56336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * &#64;Test annotation on the class (if any).
57336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
58336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public boolean inheritGroups() default true;
59336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
60336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
61336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * The description for this method.  The string used will appear in the
62336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * HTML report and also on standard output if verbose >= 2.
63336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
64336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public String description() default "";
65336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
66830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust  /**
67830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust   * The maximum number of milliseconds this method should take.
68830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust   * If it hasn't returned after this time, this method will fail and
69830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust   * it will cause test methods depending on it to be skipped.
70830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust   */
71830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust  public long timeOut() default 0;
72336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust}
73