Blog Insights
  • testing icon

    Mock Me With Fewer Words

    With Mockito 1.8.3 or higher you can significantly reduce your test code setup. Here is the code before. public class MockitoTest { private EmailFactory emailFactory; private Notifier notifier; private Emailer emailer; private Email email; @Before public void setUp(){ notifier = new Notifier(); emailFactory = mock(EmailFactory.class); emailer = mock(Emailer.class); email =...
  • default icon

    Rethinking the DAO-Service layer relationship

    Lately I have been thinking that the standard service-calling-the-dao-layer architecture hasn’t been working out as well as I would hope. The applications I have been working on have been using Spring and Hibernate with a dao object per model object. While this does provide a good separation between the two,...
  • testing icon

    Selenium IDE - Part II

    In Part I we covered Setting Up Recording Tests Playing Back Tests Saving Test Cases Resuming Recording Saving Test Suites All examples will use the sample site https://sites.google.com/site/example4selenium/. Store Value There are two ways to store values. First, you can define custom variables Second you can use the drop-down 'storeText'...
  • agile icon

    Pair Programming 101

    Overview Pair programming is a technique where two programmers work at a single work station.  One person “drives” or has control of the mouse and keyboard.  The other person “navigates” or keeps track of where they are and where they are headed.  This is a perfect environment for teaching and...
  • testing icon

    Selenium IDE - Part I

    Selenium IDE is a free Firefox plugin that leverages javascript to record automated test scripts. In this first tutorial we will install Selenium IDE and create a basic test script. The next tutorial will cover more advanced topics. I primarily use Selenium IDE in three areas: Defect - I ask...
  • development icon

    Greasemonkey

    Greasemonkey is an extension for Firefox that leverages javascript to modify the look and functionality of a page. At first glance this tool looks like a neat toy. However, this tool came in quite handy at one of our partners recently. Our partner was tracking their daily status on a...
  • testing icon

    Transactions Our Invisible Allies

    Transactions are an essential component in enterprise software development. When your application works properly you rarely think about transactions. However, when things go wrong debugging transactions can be quite challenging. Instead of being reactive we need to proactively test our transactions. When I first got into the software industry I...
  • development icon

    Javascript functions for creating a read-only view

    I’m sure you’ve all been there before. After months of creating page after page of crud screens, you’re now asked to create a read-only view of everything. I usually see this implemented with setting the readOnly attribute on every field to a variable that indicates whether or not the screen...
  • development icon

    Exploring Design Patterns in the JDK

    Design Patterns are software design solutions that can be applied in our daily software development to help us develop code that is flexible, resilient to change and easily understood (when you are familiar with the pattern). The JDK APIs employ patterns in several areas. So even if you aren’t familiar...
  • development icon

    Aggregate MyBatis.NET SqlMaps from Multiple C# Projects

    Summary This blog post describes an approach for integrating Spring.NET and MyBatis.NET in a way that lets iBATIS aggregate SqlMap config files from multiple assemblies (a.k.a. assembly scanning) prior to handing out ISqlMapper instances. Teams setting up new MyBatis.NET/Spring.NET tech stacks might find this useful. The Problem Your typical enterprise...