모의 객체 내에 클래스 수준 변수를 설정하는 방법이 있습니까?모의 객체 내에서 변수를 설정하는 방법
$stub = $this->getMock('SokmeClass', array('method'));
$stub->expects($this->once())
->method('method')
->with($this->equalTo($arg1));
승리가 제대로 작동하도록 설정해야하는 변수가 실제 클래스 :
나는이 비슷한 설정 mock 객체가 있습니다. mock 객체 내에서 변수를 어떻게 설정할 수 있습니까?
나는 예제를 이해하기 쉬워야한다고 생각합니다. 클래스는 다음과 유사합니다. class SomeClass { $ someVar; 공용 함수 setSomeVar (Color $ blue) { $ someVar = "Blue"; } 공용 함수 getSomeVar() { return $ someVar; } } 모의 객체에서는 변수를 설정할 수 없으므로 객체의 다른 곳에서 사용할 때 null을 얻습니다. – Enrique
@Enrique 흠, 당신이나 저도 그걸 얻지 못합니다 :) 당신 모의 작품을 만들 때 그것이 무엇을 반환해야하는지 모크에게 알릴 수 있습니다. 내부에 아무 것도 설정할 필요가 없습니다. 파란색으로 되돌리려면 파란색으로 되돌아 가라고 말하십시오. – Gordon
@Gordon OK. 어쩌면 내가 뭔가를 놓친 것 같아. 내가 너무 많은 콩을 쏟지 않고있는 상황을 설명하려고 노력하자. 데이터를 테이블로 보내는 '큐'메서드가 있습니다. 'queue'가 클래스 수준의 변수를 실행하려면 $ transport가 설정되어야합니다. 그렇지 않으면 오류가 발생합니다 (어디를 가는지 모르기 때문에).$ transport를 null 이외의 값으로 설정해야하고 setter가 인수를 반환하지 않아야합니다. (기존의 레거시 코드를 호출하는 '대기열'메소드에 대한 getter가 없습니다 ...) – Enrique