1

我是 phpspec 的新手,我正在尝试测试一个方法是否返回一个文件。该方法本质上是:

public function getFile(){
    return file_get_contents('myFile.pdf');
}

所以我最初的想法是测试是否getFile()返回一个字符串,因为file_get_contents根据文档返回一个字符串。

所以我的测试看起来像这样:

$this->getFile()->shouldHaveType("string");

但是我的测试失败并显示以下消息:

expected an instance of string, but got "%PDF-1.4"....

我什至尝试过gettype(getFile()),它返回"string"

谁能告诉我我做错了什么。

4

1 回答 1

4

您正在检查一种类。但是您确实想检查返回的数据是否为字符串类型。@zerkms 是正确的。您应该使用标量匹配器(http://www.phpspec.net/cookbook/matchers.html#scalar-matcher

$this->getFile()->shouldBeString()
于 2014-03-18T22:11:19.180 回答