我已经研究单元测试大约一年了,并尝试使用PHPUnit和简单测试。正是在学习简单测试教程的过程中,我终于领会了单元测试的想法,因此单元测试一直是我最喜欢的测试课程。
但是,我发现编写测试很乏味。在SimpleTest中,就像在PHPUnit中一样,您需要创建一个类来设置测试工具,然后为您希望运行的每个测试创建一个方法,等等……我发现这非常耗时。此外,我发现测试工具常常感觉像是一种测试代码的陌生方式;我正在建立一个结构,我通常不会在其中使用我的代码。总而言之,我只在有额外时间(这种情况很少见)或当我确实无法确定错误时(单元测试通常无法帮助我找到错误)时才进行测试。
最近,我在PEARlists和它的一些开发人员的博客上听到了一些关于“phpt”测试的讨论。据我所知,phpt测试听起来与perl中的测试非常相似(尽管我从未编写过perl测试,但我至少浏览过它们)。然而,直到最近,我还没有看到关于它们的任何文档,并且通过pear安装PEAR包不会安装测试。
几周前我们得到了PHP5PowerProgramming的副本,在准备PEAR包的部分中有一个关于phpt测试的简短部分。这个部分很小,当我看到它时,我的第一反应是,“不可能这么简单吧?”
所以,我决定用Cgiapp试试看。几分钟后,我对我的静态方法进行了一些工作测试。“嗯,”我想,“这很简单。让我们再试试。”
原来他们有点让像我这样的极客上瘾。在短短几个小时内,我完成了一半以上功能的测试,令我懊恼和高兴的是,我发现了一些错误和错误的编码实践……我迅速纠正了这些错误,这样我就可以从测试工具。
在编写测试的过程中,我对该工具的理解有了很大的发展,到最后,我掌握了使用它的诀窍。稍后我将在博客中介绍我如何使它们更易于我自己使用—以及我如何使它们对调试目的更有用。