【发布时间】:2014-07-08 19:32:16
【问题描述】:
PHPUnit 手册是这样说的:
"在抽象子类中编写自定义断言和实用方法 PHPUnit_Framework_TestCase 并从中派生您的测试用例类 那堂课。这是扩展 PHPUnit 的最简单方法之一。”
所以我想我会做这样的事情:
class MyTestCase extends PHPUnit_Framework_TestCase {
// new methods go here
}
然后我将从这个类中派生出我自己的测试用例。但问题是我把这段代码放在哪里?我的意思是,在我的测试目录中的哪个文件中?
如果我把它放在它自己的文件中,或者放在任何特定测试文件的开头,那么,因为我不知道测试运行的顺序,我不能确定类定义是在需要之前包括在内。
您曾经能够定义一个引导文件,该文件将在任何测试之前运行,以进行初始设置,但该功能已从最新版本的 PHPUnit 中删除。 PHPUnit 手册没有解释原因,但它确实说在测试之间共享夹具是不好的做法,所以也许该功能已被删除以阻止共享夹具的诱惑。
目前我唯一能想到的是将 include_once() 放在我所有测试文件的顶部 - 本质上是手动重新创建已弃用的引导功能,但以更容易出错和乏味的方式。
【问题讨论】: