我确信来自这个演示文稿 http://www.masukomi.org/talks/unit_testing_talk_2/index.xul?data=slide_data.txt#page2以及网站上的其他评论,我需要学习单元测试。我还意识到,对于什么是单元测试存在很多疑问。每次我去考虑如何在我当前正在开发的应用程序中完成它时,我都会感到困惑。它是一个 xulrunner 应用程序,很多逻辑都是基于事件的 - 当用户单击此处时,就会发生此操作。
我经常看到的测试示例是测试类 - 它们实例化一个对象,为其提供模拟数据,然后检查该对象的属性。这对我来说很有意义——但是非面向对象的部分呢?
这家伙提到 https://stackoverflow.com/questions/2364/what-is-your-experience-with-unit-testing-in-practice#2390基于 GUI 的单元测试在大多数测试框架中都很困难,也许这就是问题所在。上面链接的演示文稿提到每个测试一次只能触及一个类、一个方法。这似乎排除了我想做的事情。
那么问题来了——一个单元如何测试程序或基于事件的代码?提供良好文档的链接,或自行解释。
顺便说一句,我还面临一个挑战,就是没有找到一个用于测试 xulrunner 应用程序的测试框架 - 似乎这些工具还没有开发出来。我想这比我理解概念、编写可测试代码、应用单元测试更外围。
单元测试的想法是在每次测试中测试一小部分代码。在基于事件的系统中,您可以执行的一种单元测试形式是测试事件处理程序如何响应各种事件。因此,您的单元测试可能会将程序的某个方面设置为特定状态,然后直接调用事件侦听器方法,最后测试程序的后续状态。
如果您计划对基于事件的系统进行单元测试,那么如果您使用依赖项注入模式,并且理想情况下会全程使用控制反转,那么您的生活会变得更加轻松(请参阅http://martinfowler.com/articles/injection.html http://martinfowler.com/articles/injection.html and http://msdn.microsoft.com/en-us/library/aa973811.aspx http://msdn.microsoft.com/en-us/library/aa973811.aspx有关这些模式的详细信息)
(感谢 pc1oad1etter 指出我弄乱了链接)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)