我该如何扩展PHPUnit?

时间:2014-07-08 19:32:16

标签: php phpunit

PHPUnit手册说明了这一点:

  

“在抽象子类中编写自定义断言和实用程序方法   PHPUnit_Framework_TestCase并从中派生您的测试用例类   那个班。这是扩展PHPUnit的最简单方法之一。“

所以我想我会做这样的事情:

class MyTestCase extends PHPUnit_Framework_TestCase {

  // new methods go here

}

然后我将从这个类派生我自己的测试用例。但问题是我在哪里放这个代码?我的意思是,我的测试目录中的哪个文件?

如果我把它放在它自己的文件中,或者在任何特定测试文件的开头,那么,因为我不知道测试将运行的顺序,我不能确定类定义将是在需要之前包括在内。

您曾经能够定义一个在任何测试之前运行的引导程序文件,用于进行初始设置,但此功能已从最近版本的PHPUnit中删除。 PHPUnit手册没有解释原因,但它确实说测试之间共享装置是不好的做法,所以可能删除了该功能以阻止共享装置的诱惑。

目前我唯一可以想到的是将include_once()放在我所有测试文件的顶部 - 实际上是手动重新创建已弃用的引导程序功能,但是更容易出错且乏味。

1 个答案:

答案 0 :(得分:0)

  
    

您曾经能够定义一个在任何测试之前运行的引导程序文件,用于进行初始设置,但此功能已从最新版本的PHPUnit中删除。

  

这是错误的。我不知道你从哪里得到的。无法从代码或文档中删除引导程序文件的功能。