Creating robust GUIs using unit tests