A framework for portlet unit testing