1. A system for performing unit testing comprising: a virtual machine configured to execute software units; a unit testing framework configured to test software units executing within the virtual machine; and a profiling agent of the virtual machine configured to expose memory and performance information from runtime data areas of the virtual machine to the unit testing framework, wherein said unit testing framework is able to execute a set of methods relating to memory and performance of the runtime data areas, wherein said set of methods interact with the profiling agent.