PHPUnit - 我得到一些不必要的异常(未定义的变量)


PHPUnit - I get some unecessary exception (undefined variable)

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

"数据库.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);
    }
    }
}

?>

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

问候用户

也Alexein<</p>

div class="answers">

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

error_reporting(0);
ini_set("display_errors", 0);

看这个问题:测试触发 PHPUnit 错误的方法的返回值

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

如果可以,请修复通知。

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

这个通知是从database.php的哪一行发出的?也许你在某个地方做了一个if (!$connected),而$connected从未被写过。因此,从$connected = false开始您的database.php,您将失去通知。