【发布时间】:2011-01-26 04:04:20
【问题描述】:
我想就我的第一个 PHPUnit 测试用例获得一些反馈。
测试的主题是 PHP 应用程序中的一个简单配置类。它用于创建、存储和检索配置设置。
设置存储在类内的数组中。每个设置都有以下属性:
键(例如
frontend:menu:bgcolor)类型(
string、int、hexcolor、boolean之一)值(混合)
只读(布尔)
必须首先创建每个设置。在创建时,每个设置都被分配了一个类型、只读标志(默认为 false)和一个默认值。
类方法:
public function create($key, $value, $type = "string", $read_only = false)
public function set($key, $value)
public function get($key)
我正在运行的测试:
(ok) 和 (fail) 是测试的预期结果。
创建一个名为
test的设置,类型为string,初始值为xyz(ok)加载设置
test并期望返回值xyz(ok)将设置
test设置为abc(ok)加载设置
test并期望返回值abc(ok)加载设置
töst(失败,密钥不存在)创建一个名为
test_read_only的设置,类型为string,初始值为Mary had a little lamb,只读标志设置为 true (ok)将名为
test_read_only的设置设置为Peter had a big lamb(失败,密钥为只读)加载名为
test_read_only的设置并期望返回值Mary had a little lamb(ok)创建一个名为
test_integer的设置,类型为int,初始值为5,只读标志设置为 true (ok)创建一个名为
test_integer_second的设置,类型为int,初始值为5.23049505906(失败,初始值类型错误)创建一个名为
test_weird的设置,类型为sdasfäödsf#ädfsaö(失败,找不到类型)将名为
test_weird的设置设置为Peter had a little lamb(失败,未定义键)
问题:
- 这个测试用例对您有意义吗?
- 您认为这是一个完整的测试用例吗?
- 您会做哪些不同的事情,或者另外做些什么?
更新:到目前为止我将实施的建议:
- 字符串长度检查
- 涉及剩余数据类型
boolean和hexcolor的测试- 现在不需要密钥命名测试,但将来会。
【问题讨论】:
标签: php unit-testing phpunit