Split harness self-tests into a separate spec file
Test harness more cleanly organized
Use customized beforeEach
Handle exceptions properly in build() callback