0

我有以下创建新用户的代码。我正在使用 PHPUnit 准备测试用例,但是我的代码覆盖率无法覆盖异常情况,即throw new Exception(__CLASS__ . ': Invalid data');.

有人可以告诉我如何使用 assertInstanceOf() 或其他东西来覆盖 phpunit 中的异常情况吗?

​</p>

/**
* Creates a new user
*
* @param string            $email
* @param UserType       $UserType
*
* @return UserID
* @throws Exception If Invalid Data is Provided
*/
static public function Create($email, UserType $UserType)
{
    if (!$UserType instanceof UserType) {
        throw new Exception(__CLASS__ . ': Invalid data');
    }

    $UserID = parent::Create($email, $UserType);

    return $UserID;

}

非常感谢

4

1 回答 1

1

编写一个测试,在其中将其他内容然后是正确类的实例放入参数 $UserType。例如一个字符串:

/**
* @covers MyClass::Create
* @expectedException Exception
*/
public function testCreate() {
    $myTestedInstance->Create('email@example.com', 'invalid param', ....);
}
于 2013-11-02T08:26:09.120 回答