您现在的位置: 网页制作教程网 >> 网络编程 >> php 教程 >> PHP 开发技巧 >> 文章正文

PHP自带可以代替echo调试的unit函数

作者:天极Yesk…

来源:天极Yesky

热度:

2007-5-29 21:03:53

今天发现个函数 assert 和 assert_options, 他们组合可以完成一个简单的phpunit的功能, 但是实在是太简单, 所以用处不太大, 但是还是记录一下好了.

  主要问题是不能灵活的自己定义错误的提示信息,只能提示出问题的文件和行数.

  具体的使用方法可以看 <> 或者 <>

  同时可以结合 <>中 "XXVII. Error Handling and Logging Functions" 章节里的东西,共同使用.

  下面是我写的一个测试文件, 包含了所有的功能的测试,不过ASSERT_QUIET_EVAL一直不太明白,没测试出来具体有什么样作用

以下是引用片段:
<?php
function assert_failed($file, $line, $expr) {
    print "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(1==1);
echo "step 2 <br />";
assert(2==1);
echo "step 3 <br />";
//设定assert的callback样式,可以自己定义wanning信息显示时的样式
assert_options(ASSERT_CALLBACK, 'assert_failed');
//不显示assert()自己产生warnning信息,如果设置了ASSERT_CALLBACK,仍然还会显示ASSERT_CALLBACK函数对应的信息,但是函数中传入的$expr参数不起作用.
//assert_options(ASSERT_WARNING, 1); 
assert(1==1);
assert((1/0)>2);
echo "step 4 <br />";
?>

[1] [2] 下一页

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号