저는 PHPUnit을보고 있는데 다음과 같은 점이 궁금합니다. PHPUnit이 int를 처리합니까? 1과 0은 부울로 나타 납니까? 현재 테스트 중입니다.PHPUnit가 진정한 것을 주장합니다. (
예 내 시험이 (는 preg_match로 실패) INT 1 또는 0을 반환하고 오류가있는 경우에만 거짓 BOOL 인에서 $this->assertTrue(preg_match('/asdf/', 'asdf'));
.
필자는 비교가 항상 bool을 반환하기 때문에 분명히 다음과 같은 작업을 수행합니다. $this->assertTrue(preg_match('/asdf/', 'asdf') === 1);
내 preg_match 또는 내 주장에 뭔가가 누락 되었습니까? 덜 엄격합니까?
편집 : assertTrue에 일치하는 유형이 필요합니까? 주장을 덜 엄격하게 만들 수있는 방법이 있습니까?
그러나
을 phpunit을 정규식에 대해 문자열을 확인하기 위해 헌신적 인 주장을 가지고 일 내 질문에 대답하지만, 확실히 가치있는 설명. 고맙습니다. – alairock
'assertTrue'는 진짜 "true"값을 검사합니다. "truthy"는 "1"로 검사하지 않습니다. – Sven
필자는 PHPUnit의'assertTrue'는 "triple-equal"비교를 수행하고 "double-equal"비교는하지 않는다고 이해합니다. ('var_dump (1 == true);'와'var_dump (1 === true);'첫 번째는 true로 돌아오고 두 번째는 false로 되돌아옵니다. "triple-equals"도 유형과 일치합니다. 질문. 원본을 구체적으로 편집합니다. – alairock