자, 이제 제가 겪었던 문제가 있습니다. 일부 프로덕션 시스템에서는 gpc를 사용할 수있는 마술 따옴표가 있습니다. 그것에 대해 할 수있는 일은 없습니다. 그래서 나는 보상하기 위해 내 요청 데이터 나눠 수업을 구축했습니다 :다양한 시스템 ini 설정으로 테스트하십시오.
protected static function clean($var)
{
if (get_magic_quotes_gpc()) {
if (is_array($var)) {
foreach ($var as $k => $v) {
$var[$k] = self::clean($v);
}
} else {
$var = stripslashes($var);
}
}
return $var;
}
내가 그 방법으로 다른 일을하지만이 문제가 아니다.
그래서 저는 현재이 방법에 대한 단위 테스트 세트를 작성하려고하는데, 저는로드 블록을 실행했습니다. get_magic_quotes_gpc()
의 결과와 관련하여 두 가지 실행 경로를 모두 테스트 할 수 있습니까? 런타임에 ini 설정을 수정할 수 없습니다 (이미로드되어 있기 때문에) ... PHPUnit 문서 검색을 시도했지만이 유형의 문제와 관련된 것을 찾을 수 없습니다. 내가 여기서 누락 된 것이 있습니까? 아니면 모든 가능한 코드 실행 경로를 테스트 할 수없는 상태로 살아야합니까?
감사
글쎄, 그게 올바른 길에 있습니다 ... 나는 다른 것을 구현했습니다 (제 대답을보십시오). 두 가지 예와 비슷하지만 (다른 경우) ... 다시 한 번 감사드립니다 ... – ircmaxell