Beyond JUnit – Testing Frameworks alternatives
- 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.
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.
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.
- Open page X.
- Click button Y.
- 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.
Reference: Beyond JUnit from our JCG partner Alex Collins at the Alex Collins ‘s blog.
so these frameworks are alternative to junit or complementary?
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.
what about TestNG?
http://java.dzone.com/articles/testng-or-junit
Please do consider other mocking frameworks such as powermock and easymock.