Кто-то может предоставить мне ссылку на хорошее руководство насмешки PHPUnit? Тот в официальной документации, кажется, не является подробным достаточно. Я пытаюсь изучить PHPUnit путем чтения исходного кода, но я не знаком с термином matcher, насмешником вызова, тупиковым возвратом, и т.д.
Я должен знать о следующем:
1) Как ожидать множественные вызовы метода фиктивного объекта, но каждый возврат различные наборы значения?
$tableMock->expects($this->exactly(2))
->method('find')
->will($this->returnValue(2)); // I need the second call to return different value
2) Как ожидать вызов к методу фиктивного объекта с несколькими параметрами?
Вы всегда можете создать свои собственные фиктивные классы (вам не нужно использовать встроенный объект Mock):
class tableMock extends Table {
public function __construct() {
}
public function find($id) {
return $id;
}
}
$tableMock = new tableMock();
//Do your testing here...
Если вы хотите провалить тест изнутри Mock, просто выбросите исключение ...