ALL >> Computer-Programming >> View Article
Use Of Google Web Toolkit For Testing Methodologies
Outsource Java development is preferred for high-end applications with GWT has bought new testing methodologies for developers to create better solutions. Testability being one of the core features of GWT development the GWT developers can easily test their applications by using its testing tools. Testing of GWT applications can be categorised into three test component types:
Standard JUnitTestCases
GWTTestCases (subclasses of the JUnitTestCase)
Selenium Testing
During GWT development if strong design patters are applied to the codes then it would help to keep the test cases more effective, maintainable and concise. Entire GWT application is written in Java language thus it is possible to test a good part of app with the use of standard JUnitTestCases. GWT also has some TestCase subclass, the GWTTestCase class which can test code JavaScript. Client side Java Code will be cross-complied to Java Script and only few out of all use direct implemented codes.
DOM is manipulated by all widgets and many GWT libraries consists some native code which means that while GWT developers run unit tests over components ...
... by executing JavaScript natively then they must run in an environment that supports the runtime. For this test a subclass of JUnit's TestCase called GWTTestCase is provided by GWT. It allows implementation of JUnit test case which looks identical to standard one.
An abstract method called getModuleNameis the only difference that returns a string containing the name of code module as defined in application. A hosted mode browser is started by the GWT framework while running the test and then the test case is evaluated. The meaning of this is that all the facilities of hoted browser is available to your test case and GWT developers are capable of running native JavaScript functions, render widgets, or invoke asynchronous remote procedure calls. The other option to run tests is the hybrid of Java and JavaScript code or compilation and running of all GWT codes as JavaScript. For this declaration and passing of -Dgwt.args="-web" Java runtime is required. Wise decision is to run the tests on both hosted as well as web mode.
Now set up the class path for running these tests which requires compiled Java classes while Java development. A tool called "junitCreator" is provided that generates an empty GWTTestCase that helps in running the tests in both modes. While Java development developers test native JavaScript code for this and in JUnittests faces some hindrances. Initially the normal browser event mechanisms do work as expected in test mode but it is required to add adventitious code for performing things like programmatically clicking of a button and then expecting the corresponding event handlers to be fired. (e.g. onClick).
Writing selenium tests which can run against the browser with all mechanisms in correct place is the right approach. Some performance considerations like run the TestCase forces compiling of source codes in the modules that incurs with the startup delay. Each test that is performed needs starting and shutting down of headless browser. A technique that can help in this matter is to group the test cases into TestSuiteswhich can run tests in single suite and saves costs by incurring only a single compilation startup cost.
Generally standard JUnitTestCases should be preferred as GWTTestCase is slower than it to run orders of magnitude.
For More Information:- Java Development | GWT Development
Add Comment
Computer Programming Articles
1. Which Are The Best Java Coding Classes In Bhopal?Author: Shankar Singh
2. Warehouse Management In Zambia: Essential Features To Look For
Author: Doris Rose
3. Ecommerce Web Design And Development In Melbourne With The Merchant Buddy
Author: themerchantbuddy
4. Why Website Maintenance Is Crucial For Business Success
Author: Yogendra Shinde
5. Boost Your Business With Smart Invoice Pos Software In Zambia
Author: Cecilia Robert
6. How Stablecoin Development Ensures Stability And Security?
Author: Michael noah
7. Công Cụ Tính Chiều Cao Chuẩn Từ Minbin Tool: Đo Lường Và Cải Thiện Chiều Cao Hiệu Quả
Author: KenJi123
8. How To Make A Courier App For Courier Delivery And Tracking Service
Author: Deorwine Infotech
9. Reputation Management In The Digital Age: Protecting And Enhancing Your Law Firm’s Image
Author: jamewilliams
10. What Features Should I Look For In Wordpress Ecommerce Plugins?
Author: Rocket Press
11. Staying Updated With The Latest Gaming News
Author: Next Tech Plus
12. Game Development: Evolving Technologies And New Horizons
Author: Rick John
13. Why Svelte Is The Most In-demand Framework For Web Development?
Author: Why Svelte Is The Most In-Demand Framework For Web
14. Maximizing Ebay Sales With Maropost/neto And Pursuit Info Solutions
Author: rachelvander
15. The Importance Of Software Testing: Ensuring Quality In Development
Author: John Mathew