Enterprise Java

Beyond JUnit – Testing Frameworks alternatives

JUnit is the defacto Java unit testing framework, but there’s a couple of new (and not so new) frameworks out there for web development that might be of interest. Questions you might want to ask yourself prior to adoption:

  • Are they fast and easy to develop and therefore low cost? 
  • Are they fast to run and therefore encourage adoption? 
  • Do they require maintenance and therefore engender on going cost?  
  • Can I execute them in my nightly build? 
  • Do they ultimately allow you to write more bug free code, faster?

Mockito

This is a mocking framework that makes it straight forward and fast to create mock backed tests. This reduces the cost of setting up databases and avoids writing your own. It seems the API isn’t as stable as it might be, but it has a terse and intuitive syntax.

http://mockito.org/

SureAssert

SureAssert has an annotation based mechanism for writing tests. This makes it easy to write the tests, and an Eclipse plug-in means that your incremental builds are incrementally tested.

http://www.sureassert.com/

JS Test Driver

Similar to Selenium below, this allows you the create test cases for JavaScript using a JUnit style syntax. The main caveat is that you need to factor your tests suitably for testing, and most JavaScript I’ve seen is not like that.

http://code.google.com/p/js-test-driver/

Selenium

Selenium is a top-down browsers plug in and framework that allows you to record a set of macro-like actions within a browser along with a set of assertions on those actions. E.g.

  1. Open page X. 
  2. Click button Y. 
  3. Expect text Z.

It’s nice because the tests are focussed on important scenarios (checking that pages really open and transactions actually occur), and can be exported as JUnit tests that can run as part of the nightly build. However. it’s brittle and because it depends on the app running, slow.

http://seleniumhq.org/

Reference: Beyond JUnit from our JCG partner Alex Collins at the Alex Collins ‘s blog.

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
E. Basri Kahveci
12 years ago

so these frameworks are alternative to junit or complementary?

Hannibalios
12 years ago

Consider also TestNG (
http://testng.org/doc/index.html ) which is a powerful testing framework that can be considered as a serious alternative for JUnit. it’s also 100% compatible with JUnit.

navap_12
navap_12
12 years ago
Rishi Yagnik
12 years ago

Please do consider other mocking frameworks such as powermock and easymock.

Back to top button