2014-03-18 3 views
1

Я новичок в phpspec, и я пытаюсь проверить, возвращает ли метод файл. Метод, по существу:PHPSpec - проверить, возвращает ли метод файл

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

Так что мой первоначальный, хотя должен был проверить, если getFile() возвращает строку, поскольку file_get_contents возвращает строку в соответствии с docs.

Так что мой тест выглядит следующим образом:

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

Но мой тест не со следующим сообщением:

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

Я даже попробовал gettype(getFile()) и возвращает "string".

Может ли кто-нибудь сказать мне, что я делаю неправильно.

+0

вам нужно использовать 'GetType (GetFile())' первым, а затем проверить его –

+0

я попробовал, что уже и возвращает «строку» –

+0

вы получили такое же ошибку ? –

ответ

4

Вы просматриваете тип класса. Но вы действительно хотите проверить, являются ли возвращенные данные строкой типа. @zerkms является правильным. Вы должны использовать скалярный Искатель (http://www.phpspec.net/cookbook/matchers.html#scalar-matcher)

$this->getFile()->shouldBeString() 
+0

Вот и все! Спасибо. –

+0

Добро пожаловать! – tlenss