0
클래스에는 몇 가지 개인 정적 메소드가 있습니다. 내가 phpunit을PHPUnit에서 호출 가능한 인수를 사용하여 메소드를 테스트하는 방법
에서$actual = Some::getSuperSome(
['Some', 'getSome'] // Should be changed ?
);
있어 오류로 변경했을 때
class Some {
…
private static function getSome($x) {…}
…
}
같은 뭔가 그것은 다른 공공 메소드 내에서 호출과 같은 '일부'클래스
$a = self::getSuperSome(
[__CLASS__, 'getSome']
);
을 사용
TypeError : App \ Some :: getSuperSome()에 전달 된 인수 blah-blah 호출 가능, 배열 지정 ... 'blah-blah
getSuperSame을 테스트하기 위해 PHPUnit의 SomeTest 클래스에서 args의 이름을 변경하려면 어떻게해야합니까?
단위 테스트는 개인 인터페이스/보호 된 메서드가 아닌 공용 인터페이스를 테스트하기위한 것입니다. 또한 정적 메서드를 사용하여 시작하지 않아야합니다. PHP에서 네임 스페이스 함수를 사용할 수있는 옵션이 있습니다. –
@ tereško ** public ** getSuperSome 메소드를 테스트하고 싶습니다. ** public으로 getSome의 가시성을 변경하면 ** 동일한 오류 메시지가 나타납니다. – dostrog
'[__CLASS__, 'getSome']'은 호출 가능 (올바른 범위에서 수행 된 경우)으로 매우 유효합니다. 어딘가에 다른 문제가 있어야합니다. 더 많은 코드 ([this] (https://stackoverflow.com/help/mcve)) – xmike