daG*_*vis 3 php phpunit unit-testing visibility kohana
好吧,我是单位测试新手(使用phpUnit),刚开始测试我的一类.
实际构造函数如下所示:
/**
* Loads configuration.
*/
function __construct() {
$config =
Kohana::$config->load('koffee');
$this->_table_name = $config->table_name;
$this->_table_columns = $config->table_columns;
}
Run Code Online (Sandbox Code Playgroud)
它基本上从另一个文件获取配置,并将其设置为该对象的受保护属性.
以下是单元测试的外观(它没有完成,这就是我需要帮助的地方):
/**
* Tests that config is loaded and correct.
*/
function testConfigIsLoadedAndCorrect() {
$object = new Model_Article();
$config = Kohana::$config->load('koffee');
// Compare object's **protected** properties to local `$config`. How?!
}
Run Code Online (Sandbox Code Playgroud)
问题是属性受到保护,我无法轻易访问它们......
我目前看到的可能的解决方案:
可能这对你很有意思,但是,正如我所说,我是单位测试的新手.任何帮助非常感谢.
单元测试是关于单元测试.受保护的成员不是单元的公共接口的一部分,这是编写单元测试时应该关注的所有内容.
您不测试单元的内部内部,但它可以按预期工作.
如果你不管是想做这样的东西,你可以使用序列化文档,铸造阵列和反思文档检查保护/对象的私有属性或执行对象的保护/私有方法.
| 归档时间: |
|
| 查看次数: |
3737 次 |
| 最近记录: |