是否有可能在PHPUnit中模拟函数的不存在?

时间:2015-08-14 09:42:40

标签: php mocking phpunit

我有一个单元测试,如果未安装openssl_random_pseudo_bytes,则会检查是否会引发异常。但是,如果安装了 ,则会跳过它。然而,这对我来说并不令人满意,因为它导致了不完美的测试运行。我可以设置单元测试通过,但这感觉就像是作弊。

有没有人有任何想法?

这是我的测试:

public function testGenerateOpenSSLThrowsExceptionWhenFunctionDoesNotExist()
{
    if (function_exists('openssl_random_pseudo_bytes')) {
        $this->markTestSkipped('Cannot run test: openssl_random_pseudo_bytes function exists.');
    }

    $this->_salt->generateFromOpenSSL();
}

0 个答案:

没有答案