· Test cases can be grouped more easily.
- Parallel
testing is possible .
- Annotations play an important role in execution. They guide as to which Class or
method will run first and which next .
- Have a
look at the benefits of annotations below:
- Test
classes do NOT need to extend anything Test Case class as for JUnit
3.
- TestNG identifies the methods by looking up annotations . Which means method
names will not require a pattern or format.
- We can
pass additional parameters to annotations.
- Annotations
are strongly typed, so the compiler will flag any mistakes right away for verification
As stated earlier , annotations are special
information about text or program. So they act accordingly , based on
the information that they provide. Take for example
Built In annotation such as @SuppressWarnings .
This is used to suppress the warnings that appear at compilation of the
program. So when we annotate a method in Java with @SuppressWarnings, then
that means the compile time warnings that we specify in the parameters of
that annotation will be suppressed for that method.
Examples :
·
SuppressWarnings("parameters here")
·
Static-access
Static methods are reffered by Classname.methodname
we cannot create a instance of class to refer to a static
method.
That will throw a compilation error The static method
" " should be accessed in a static way.”
public class Welcome{
public static void method1() {
}
public static void main(String[] args) {
Welcome.method1 // this call to static method1 will
not give compile error .
Welcome Wel= new Welcome();
Wel.method1 (); // this call to static method1 will
give compile error , because static methods should be called directly by class
names.
}
}
For suppressing such errors we
use "static-access" parameter as follows before the method
implementation.
·
@SuppressWarnings("static-access")
public void
MethodName(String ParameterName) throws InvalidFormatException {
}
·
@Override annotation , which is again
a Built In annotation , when put before a method tells the compiler
that the following method is overriding its base class method. And it
will throw a compilation error , if there does not exist such a method in
parent class .
ex. @Override
protected abstract void method1();
·
@Deprecated , also a Built In
annotation , tells the compiler that the following method is Obsolete or
out of date. so compiler will throw an warning message if we try to use
this method anywhere in the code.
Comments