REGEX와 함께 단순하게 AsserTtags 테스트를 작성하는 방법은 무엇입니까?
-
02-07-2019 - |
문제
생성 할 함수를 테스트하고 싶습니다 lorem ipsum
텍스트이지만 HTML 태그 내에서 그렇게합니다. 그래서 텍스트 내용을 미리 알 수는 없지만 HTML 구조를 알고 있습니다. 그것이 제가 테스트하고 싶은 것입니다. 그리고 텍스트의 길이는 특정 한계 내에있을 것입니다. 그래서 내가 궁금해하는 것은 AssertTags가 벨로우 링을 동의하는 방식으로 이것을 할 수 있는지입니다.
Result = "<p>Some text</p>";
Expected = array(
'<p' ,
'regex',
'/p'
);
assertTags(resutl, expected)
CakePHP와 함께 SimpleTest를 사용하고 있지만 일반적인 질문이라고 생각합니다.
해결책
$expected = array(
'<p',
'preg:/[A-Za-z\.\s\,]+/',
'/p'
);
다른 팁
Simple -Pexpectation 클래스를 연장 한 다음 Assert 진술서에서 새로운 기대 클래스를 사용하십시오.
보다: http://www.lastcraft.com/expectation_documentation.php#extending
주어진 예는 IP 주소를 검증하는 것이지만 문제에 적용 할 수 있어야합니다.
class ValidIp extends SimpleExpectation {
function test($ip) {
return (ip2long($ip) != -1);
}
function testMessage($ip) {
return "Address [$ip] should be a valid IP address";
}
}
그런 다음 시험에서
$this->assert(new ValidIp(),$server->getIp());
제휴하지 않습니다 StackOverflow