如果我是正确的,SimpleTest将允许您断言抛出PHP错误。但是,根据文档,我不知道如何使用它。我想断言我传递给构造函数的对象是MyOtherObject
的实例
class Object {
public function __construct(MyOtherObject $object) {
//do something with $object
}
}
//...and in my test I have...
public function testConstruct_ExpectsAnInstanceOfMyOtherObject() {
$notAnObject = 'foobar';
$object = new Object($notAnObject);
$this->expectError($object);
}
我要去哪里错了?
最佳答案
从PHP版本5.2开始,类型提示引发E_RECOVERABLE_ERROR,SimpleTest可以捕获该错误。以下内容将捕获包含文本“必须是”的任何错误。 PatternExpectation的构造函数采用perl正则表达式。
public function testConstruct_ExpectsAnInstanceOfMyOtherObject() {
$notAnObject = 'foobar';
$this->expectError(new PatternExpectation("/must be an instance of/i"));
$object = new Object($notAnObject);
}