我从网站上的这个演示文稿和其他评论中确信我需要学习单元测试.我也意识到有很多关于单元测试的问题.每当我去考虑如何在我正在进行的应用程序中完成它时,我就会感到困惑.它是一个xulrunner应用程序,很多逻辑都是基于事件的 - 当用户点击此处时,会发生此操作.
我经常看到的测试示例是测试类 - 它们实例化一个对象,给它模拟数据,然后检查对象的属性.这对我来说很有意义 - 但是那些非面向对象的作品呢?
这家伙提到基于GUI的单元测试在大多数测试框架中都很难,也许这就是问题所在.上面链接的演示文稿提到每个测试应该只触及一个类,一次一个方法.这似乎排除了我正在努力做的事情.
所以问题是 - 一个单元如何测试程序或基于事件的代码?提供良好文档的链接,或自行解释.
另外,我还面临着一个挑战,即没有找到一个测试框架来设置测试xulrunner应用程序 - 似乎这些工具还没有开发出来.我想这比我理解概念,编写可测试代码,应用单元测试更具外围性.
单元测试的想法是测试每个测试的小部分代码.在基于事件的系统中,您可以执行的一种单元测试形式是测试事件处理程序如何响应各种事件.因此,您的单元测试可能会将程序的某个方面设置为特定状态,然后直接调用事件侦听器方法,最后测试程序的后续状态.
如果您计划对基于事件的系统进行单元测试,那么如果您使用依赖注入模式,那么您将使自己的生活变得更加轻松,理想情况下可以全面使用并使用控制反转(请参阅http://martinfowler.com /articles/injection.html和http://msdn.microsoft.com/en-us/library/aa973811.aspx了解这些模式的详细信息)
(感谢pc1oad1etter指出我搞砸了链接)