phpUnit电话号码功能失败

时间:2014-05-19 22:29:52

标签: php phpunit

我有以下功能来验证电话号码的长度。当我传递一个电话号码111-111-111并回显它的长度时它返回10.但是,我在下面写的测试它的phpUnit每次都应该通过时失败。我无法弄清楚为什么会这样。它没有连字符就可以工作。

function validatePhone($phone) {
    //eliminate every char except 0-9
    $justNums = preg_replace("/[^0-9]/", '', $phone);
    return((strlen($justNums) == 10) or (strlen($justNums) == 7));
}

public function testValidatePhoneGoodNumber() {
    $this->assertTrue($this->val->validatePhone(111-111-1111));  //THIS FAILS
}

public function testValidatePhoneGoodNumber() {
    $this->assertTrue($this->val->validatePhone(1111111111));  //THIS PASSES
}

1 个答案:

答案 0 :(得分:1)

在php混合伪类型的输入中添加引号。

function validatePhone($phone) {
//eliminate every char except 0-9
$justNums = preg_replace("/[^0-9]/", '', $phone);
return((strlen($justNums) == 10) or (strlen($justNums) == 7));

}

public function testValidatePhoneGoodNumber() {
$this->assertTrue($this->val->validatePhone('111-111-1111'));  

}