Using RenamingDelegatingContext to mock ContentResolver in Android

Tomas Nilsson

Mocking Context Testing in Android can be complex, especially when your component is not isolated from the Android framework. One example of this is when your component is performing file system tasks using Context. E.g, the Activity class has the following methods (inherited from Context): openOrCreateDatabase(); deleteDatabase(); getDatabasePath(); openFileInput(); openFileOutput(); getFileStreamPath(); deleteFile(); getCacheDir(); When calling [...]

Tags: ,

Automated Testing is Like Optimizing

Fredrik Olsson

I have my roots in the Atari demo scene, so I know the joys of optimizing the inner-loop of a software texture mapper down to the last assembly instruction. The bragging rights of knowing that not a single clock cycle is wasted. I am also grown up enough to know that this is not a [...]

Tags: , , ,

Test Driven Development in XCode

Christian Hedin

Test Driven Development, or TDD for short, is a simple software development practice where unit tests, small focused test cases, drive the development forward. This is most easily explained by the Three Rules of TDD that dictate the following: You are not allowed to write any production code unless it is to make a failing [...]

Tags: , , , , , , ,

Mocking static methods in Java system classes

Johan Haleby

As you may already know PowerMock can be used to easily mock static methods which is normally not possible with standard mock frameworks such as EasyMock, JMock or Mockito. All you have to do is to use mockStatic in one of the PowerMock extension API’s as well as telling PowerMock to enable the class for [...]

Tags: , , , ,

Testing Among the Clouds, Part 2

Mattias Hellborg Arthursson

In a recent post I wrote about the particular problems we’ve been having with integration testing the Spring LDAP project and the use we’ve made of Amazon EC2 for solving these problems. In this post I’ll present the implementation details. Prerequisites In order to keep this reasonably brief I’ll have to refer to the getting [...]

Tags: , , , , , ,

Testing Among the Clouds

Mattias Hellborg Arthursson

One of the major challenges we’ve been facing in the Spring LDAP project is to make certain that the library works together with different LDAP servers. Different servers behave differently in certain situations; some functionality might only be supported on select servers, etc. In the ideal situation we would run our automated test suite against [...]

Tags: , , , , , , ,

Behaviour Driven Development

Test Driven Development is a well established programming technique for creating high quality software. It is less known, however, that TDD is not only a programming technique but also a design methodology. The main goal of Behaviour Driven Development, a TDD based methodology, is to identify behaviours in both the analysis and the design phases. [...]

Tags: , , , ,