1.
1)
2)
3)
笔者就曾经将一个code warrior开发环境下的arm工程,迁移到VC2005中,最终使用C++Test完成了单元测试。有图为证。
其实,该软件还有一个优点-提供测试覆盖率统计和图示。相信这一点,也是单元测试的最终目标-百分之百覆盖,所非常有利的工具了。
2.
目前windows平台下的最流行开发环境,非属.Net开发环境莫属。基于该环境,微软提供了ManagedC++/VB/C#等开发语言,吸引了不少粉丝。当然,微软的东西,都是集成在Visual Studio中的,连带着也产生了单元测试工具-不过只在team版本中才有。
不过经过比较,笔者还是推荐Nunit。首先这个软件是免费的,其次很强大,应用起来也很方便。只要仿照自带的例子,编写相应的测试类就行了-当然,必须引入“NUnit.Framework”包。
下图是个简单的例子,取材于该软件的samples.
完成工程的解释和链接后,可以通过Nunit,定位到该工程生成的“dll”文件进行测试。
从事Android开发之后,因为eclipse的缘故,选择了Junit作为测试工具。其实,parasoft公司的J++Test也是不错的选择;不过Android开发包内置支持Junit,显然更加值得推荐。
下面引用一个android开发包中的例子,进行简单的说明。这个例子,读者可以在“android\android-sdk-windows\samples\android-8\ApiDemos\tests”中找到。这个例子代表的工程,就是一个用于android平台应用程序(JAVA代码)单元测试的Junit测试工程。
与上一节中提到的测试源文件编写类似,需要引入“android.test.ActivityInstrumentationT
4.
除了上文提到的几种开发语言和平台,在日常编程活动中,可能会遇到的还有perl,tcl,python等OO语言。
一般来说,这些语言有着庞大的第三方package支持。因此,一般来说,类似于android平台内置支持Junit框架,这些语言也有相应的支持。举个例子,perl支持包列表,自从perl语言创世以来,perl testing这个模块就支持全面的测试。感兴趣的读者,可以阅读一下这方面的书籍。