phpunit:assert 和assert_options组合完成phpunit功能



    突然发现assert 和 assert_options原来有如此妙用, 他们组合可以完成个简单phpunit功能功能不是很强大不过很有意思呵呵大家可以看看能不能得到些启发    
    主要问题是不能灵活自己定义提示信息,只能提示出问题文件和行数.
  具体使用思路方法可以看 <> 或者 <>
  同时可以结合 <>中 \"XXVII. Error Handling and Logging Functions\" 章节里东西,共同使用.
  下面是我写个测试文件, 包含了所有功能测试,不过ASSERT_QUIET_EVAL直不太明白,没测试出来具体有什么样作用
以下是引用片段: 
<?php
function assert_failed($file, $line, $expr) {
    pr \"Assertion failed in $file [ $line ] : $expr <br/>\";
}
//error_reporting设置为0, 相当于assert_options(ASSERT_WARNING, 0);
//error_reporting(0);
//是否启用对ASSERT_ACTIVE支持
assert_options(ASSERT_ACTIVE, 1);
//是否在发送第次wanning时候,停止脚本执行
assert_options(ASSERT_BAIL, 0);
//没搞定,还不明白具体如何用,偶测试不出来
//assert_options(ASSERT_QUIET_EVAL, 0);
echo \"step 1 <br />\";
assert(11);
echo \"step 2 <br />\";
assert(21);
echo \"step 3 <br />\";
//设定assertcallback样式,可以自己定义wanning信息显示时样式
assert_options(ASSERT_CALLBACK, ’assert_failed’);
//不显示assert自己产生warnning信息如果设置了ASSERT_CALLBACK仍然还会显示ASSERT_CALLBACK对应信息但是中传入$expr参数不起作用.
//assert_options(ASSERT_WARNING, 1); 
assert(11);
assert((1/0)>2);
echo \"step 4 <br />\";
>
Tags:  assert函数 assert.h assert phpunit

延伸阅读

最新评论

发表评论