Separate your Presentation layer from everything else.
Keep the Presentation layer as thin as possible so that testing can in theory take place within a middle-man of a given pattern; MVC, MVVM, etc...
The moment you begin to couple the Presentation layer with underlying logic your testing will become a nightmare to maintain as well as execute.
At the end of thoroughly testing your Models/ViewModels/Controllers, etc...testing the Presentation layer can often times lose its highly regarded value. Is it still valuable? Yes...but the return has diminished considerably.
These concepts apply to many frameworks/languages. Once you grasp this understanding the technological benefits of a given framework/language will surface naturally. Do not rely on the framework/language to answer this though. A framework/language can definitely lend itself to provide separation of concerns in a much more friendly manner however the separation of concerns is and has always been at the forefront of any type of testing; GUI included.