gpt4 book ai didi

cakephp - 我们需要在 CakePHP 上测试私有(private)函数吗?

转载 作者:行者123 更新时间:2023-11-28 20:19:20 25 4
gpt4 key购买 nike

我认为永远不应该测试私有(private)函数,而应该只测试公共(public)接口(interface)。

但是,使用 XDebug 查看我的函数的覆盖率后,我发现它会减少,因为它考虑了私有(private)函数。

你怎么看?谢谢。

最佳答案

我相信您应该测试所有方法,包括私有(private)方法和 protected 方法。尽管它们对其他类可见,但它们内部有需要测试的逻辑。为了测试 protected 方法,您通常需要创建一个使方法公开的代理类。

class MyClass {

protected function protected_method() {
// do stuff
}

}

在测试用例中,您将创建另一个类并将其 protected 方法公开,就像这样

class TestMyClass extends MyClass {

public function protected_method() {
return parent::protected_method();
}

}

现在您可以在测试用例中测试 TestMyClass::protected_method()

这不是唯一的方法。 PHPUnit 的创建者 Sebastian Bergmann 在这里写了一篇关于它的博客文章:http://sebastian-bergmann.de/archives/881-Testing-Your-Privates.html

关于cakephp - 我们需要在 CakePHP 上测试私有(private)函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com