T2 is a powerful automated unit testing tool for Java. T2 is an automatic unit testing tool for Java. Use it to test your class. It is easy to use and integrates with Junit, and any IDE supporting Junit.
With T2, you will be able to write your specifications directly in Java. You can also express quite sophisticated specifications with just plain Java.
Moreover, the T2 framework supports multiple test automation strategies. It supports model based testing too and provides many options.
Using T2 requires little effort and it is almost interactive; depending on the complexity of your class it can respond in less than a second, in which time it can inject thousands of tests.
T2 checks for internal errors, run time exceptions, method specifications, and class invariant. It can even check temporal properties. Unlike other testing tools, T2 reads specifications written in plain java.
They are usually placed in the class we want to specify. Specifications written in the same language as the programming language (in this case Java) are called in-code specifications.
Though not as fancy as Z or JML, these plain java specifications do posse other characteristic attributes of specifications: unambigous, declarative, formal, and powerful. Because they are in-code, their maintenance is also minimum.
Here are some key features of "T2":
· Powerful trace-based testing.
· Choose between random based generation, search-mode, or combinatoric.
· Fast (injecting thousands of tests per second).
· Write your specs in plain Java!
· Support model-based testing.
· Support regression.
· Naturally integrate with Junit and IDEs.
What's New in This Release: [ read full changelog ]
· Improved combinatoric engine. If a,b,c are in the testing-scope before we can only generate permutations of a,b,c; not we can also generate products over a,b,c. That is, (a,a,c) for example can now be generated.
· The manual is improved with examples of custom InterfaceMap and BaseDomain.
· Various small fixes.
· The 2.2 line is still maintained Beta because we are still working on it. In principle we only work on adding features; but it does make 2.2 at the moment still a bit unstable.