PHPUnit constraint "attribute()"

Vano

Новичок
Кто-нибудь знает как работает констрейнт PHPUnit_Framework_Constraint_Attribute ($this->attribute())? я чет догнать не могу, дайте плз пример
 

Vano

Новичок
Ну или хотя б, что такое
PHP:
attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
$attributeName
 

Andkorol

Новичок
Constraint that applies another constraint to an attribute of a class or an object.
Ограничение, которое применяет другое ограничение к атрибуту класса или объекта.
Соответственно, $attributeName – это имя атрибута класса или объекта.
 

Vano

Новичок
Ну а пример можешь плз дать? Ато у меня как-то не получается понять, что туда нужно передавать
 

Vano

Новичок
Понял. Нужно передать обьект у которого $attribute будет удовлетворять $constraint

PHP:
$mock = $this->getMockBuilder(SomeClass::class)
                ->setMethods(['doSomething'])
                ->getMock();
        
        
        
        $mock->expects($this->exactly(1))
                ->method('doSomething')
                ->withConsecutive(
                        [$this->attribute($this->greaterThan(4), 'name')]
                        );
        
        $obj = new stdClass();
        $obj->name = 5;
        
        $mock->doSomething($obj);
 
Сверху