【问题标题】:PHPUnit - I get some unecessary exception (undefined variable)PHPUnit - 我得到一些不必要的异常(未定义的变量)
【发布时间】:2012-05-11 11:03:44
【问题描述】:

我开始使用 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);
    }
    }
}


?>

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

问候 用户

还有 阿列克谢

【问题讨论】:

  • 这是你真正的考验吗?你实际上并没有在 Person 类中测试任何东西,只是测试类中的一个方法?

标签: php cmd phpunit testcase


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    如果可以,请修改通知。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-06
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 2016-09-23
        • 2013-11-30
        • 2015-01-25
        相关资源
        最近更新 更多