Testing GUI's is hard, and isn't always worth the extreme effort. By separating the pure GUI from the guts of the application, you can easily add and test business features without involving the GUI.
这是我从Pragmatic Unit Testing in C# with NUnit中摘出来的一句话。我觉得很好。因为上一个项目中,我是写界面的。我花了很多时间来寻找用单元测试来测试GUI的办法,最终没有什么收效。但其实问题根本就不是我作为写GUI的人没有做好测试,而是在GUI中放了太多的东西。要让GUI没有问题的最好办法,不是对GUI做测试,而是让GUI尽可能的只和GUI有关,那样出的一切问题都是在表面上的,而不是私底下的。
从这个简单的问题也可以看出,人的感悟总是很简单的。在上一个项目也是本人参与的第一个项目中,将近到了中期才意识到,哦,原来这个就是瀑布模型。而其实往往局外或者事后的人都能一眼看出问题所在。而我今天才真正意识到,哦,原来是没有划分好模块的原因,怪不得GUI那么庞大呢。所以有的时候,真的想嘲笑自己的。