[b]单元测试是程序员构建的理想世界。[/b]
但要做起来并不容易,原因很简单,要多花时间。而且实际上,web上的大量应用都是以数据库为中心的应用,而单元测试是不测试数据库逻辑的。
phpunit本身包含了dbunit等模块,只是为了方便程序员使用。我自己在使用时,单元测试和集成测试是分开的。而写单元测试和集成测试,花的时间就更多了。
所谓单元测试,一定不包含对数据库调用,对redis这样的服务调用,对http调用,对文件系统调用(即读写文件)。所以即便有大量的单元测试,几秒之内就能全部执行完毕。
以下系列文章主要代码与文字来源于《单元测试的艺术》,原作者:Roy Osherove。译者:金迎。
以下系列文章我根据php的语法与使用习惯做了改编,并使用phpunit作为测试类库。所有代码在我自己电脑测试通过。如转载请注明出处。
[url=http://xieye.iteye.com/blog/2386471]php单元测试进阶(1)-安装[/url]
[url=http://xieye.iteye.com/blog/2386473]php单元测试进阶(2)-入门[/url]
[url=http://xieye.iteye.com/blog/2386474]php单元测试进阶(3)- 入门 - 添加检验[/url]
[url=http://xieye.iteye.com/blog/2386476]php单元测试进阶(4)- 入门 - 使用参数化测试[/url]
[url=http://xieye.iteye.com/blog/2386478]php单元测试进阶(5)- 入门 - 异常测试[/url]
[url=http://xieye.iteye.com/blog/2386479]php单元测试进阶(6)- 核心技术 - 桩件(stub)[/url]
[url=http://xieye.iteye.com/blog/2386569]php单元测试进阶(7)- 核心技术 - 桩件(stub) - 构造函数注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386570]php单元测试进阶(8)- 核心技术 - 桩件(stub) - 属性注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386571]php单元测试进阶(9)- 核心技术 - 桩件(stub) - 工厂类注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386572]php单元测试进阶(10)- 核心技术 - 桩件(stub) - 调用方法注入桩件[/url]
[url=http://xieye.iteye.com/blog/2387815]php单元测试进阶(11)- 核心技术 - 桩件(stub) - 不使用桩件[/url]
[url=http://xieye.iteye.com/blog/2387817]php单元测试进阶(12)- 核心技术 - mock对象[/url]
[url=http://xieye.iteye.com/blog/2387819]php单元测试进阶(13)- 核心技术 - mock对象 - 同时使用mock和stub[/url]
[url=http://xieye.iteye.com/blog/2387820]php单元测试进阶(14)- 核心技术 - 动态mock对象[/url]
但要做起来并不容易,原因很简单,要多花时间。而且实际上,web上的大量应用都是以数据库为中心的应用,而单元测试是不测试数据库逻辑的。
phpunit本身包含了dbunit等模块,只是为了方便程序员使用。我自己在使用时,单元测试和集成测试是分开的。而写单元测试和集成测试,花的时间就更多了。
所谓单元测试,一定不包含对数据库调用,对redis这样的服务调用,对http调用,对文件系统调用(即读写文件)。所以即便有大量的单元测试,几秒之内就能全部执行完毕。
以下系列文章主要代码与文字来源于《单元测试的艺术》,原作者:Roy Osherove。译者:金迎。
以下系列文章我根据php的语法与使用习惯做了改编,并使用phpunit作为测试类库。所有代码在我自己电脑测试通过。如转载请注明出处。
[url=http://xieye.iteye.com/blog/2386471]php单元测试进阶(1)-安装[/url]
[url=http://xieye.iteye.com/blog/2386473]php单元测试进阶(2)-入门[/url]
[url=http://xieye.iteye.com/blog/2386474]php单元测试进阶(3)- 入门 - 添加检验[/url]
[url=http://xieye.iteye.com/blog/2386476]php单元测试进阶(4)- 入门 - 使用参数化测试[/url]
[url=http://xieye.iteye.com/blog/2386478]php单元测试进阶(5)- 入门 - 异常测试[/url]
[url=http://xieye.iteye.com/blog/2386479]php单元测试进阶(6)- 核心技术 - 桩件(stub)[/url]
[url=http://xieye.iteye.com/blog/2386569]php单元测试进阶(7)- 核心技术 - 桩件(stub) - 构造函数注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386570]php单元测试进阶(8)- 核心技术 - 桩件(stub) - 属性注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386571]php单元测试进阶(9)- 核心技术 - 桩件(stub) - 工厂类注入桩件[/url]
[url=http://xieye.iteye.com/blog/2386572]php单元测试进阶(10)- 核心技术 - 桩件(stub) - 调用方法注入桩件[/url]
[url=http://xieye.iteye.com/blog/2387815]php单元测试进阶(11)- 核心技术 - 桩件(stub) - 不使用桩件[/url]
[url=http://xieye.iteye.com/blog/2387817]php单元测试进阶(12)- 核心技术 - mock对象[/url]
[url=http://xieye.iteye.com/blog/2387819]php单元测试进阶(13)- 核心技术 - mock对象 - 同时使用mock和stub[/url]
[url=http://xieye.iteye.com/blog/2387820]php单元测试进阶(14)- 核心技术 - 动态mock对象[/url]