0

我开始使用 PHPUnit,我想连接到我的数据库并从中获取一些值,但是因为我必须通过文件“database.php”连接到我的数据库。

'database.php' 总是有这个未定义变量的问题:$connected。所以我读了一些关于错误报告消息的内容:error_reporting(E_ALL ^ E_NOTICE);

我之前确实将它修复到我的项目中的其他文件,但是当我使用 PHPUnit 时,我收到此错误消息:未定义的变量:已连接

我的测试用例文件及其代码:

<?php include("database.php"); ?>
<?php
require_once 'person.php';

class PersonTest extends PHPUnit_Framework_TestCase {

    public function lookupPerson(){

    $result = database::query("select * from Person where forename='Anna'");
    $rows = mysql_numrows($result);
    for($i=0; $i < $rows; $i++){
    $arr[$i] = mysql_result($result, $i, 'forename');
    }
    return $arr;
    }


    public function testLooking(){
    $arr = PersonTest::lookupPerson();
    foreach($arr as $a){
    $this->assertEquals('Anna', $a);
    }
    }
}


?>

所以我想知道我能做什么?

问候用户

还有阿列克谢

4

3 回答 3

1

在您的代码顶部添加下面,这隐藏了所有通知......当然最好只修复错误:)

error_reporting(0);
ini_set("display_errors", 0);
于 2012-05-11T11:06:14.100 回答
0

看看这个问题:test the return value of a method that triggering an error with PHPUnit

那里的答案显示了如何防止 PHPUnit 将通知和警告视为异常。

如果可以,请修复通知。

于 2012-05-11T11:15:34.973 回答
0

我之前确实将它修复到我的项目中的其他文件,但是当我使用 PHPUnit 时,我收到此错误消息:未定义的变量:已连接

database.php这个通知是从哪一行抛出的?也许你做了一个if (!$connected)地方,虽然$connected从来没有被写过。所以开始你database.php$connected = false,你会失去通知。

于 2012-05-11T11:19:18.477 回答