2012-05-11 3 views
0

PHPUnit을 사용하기 시작했습니다. 데이터베이스에 연결하여 값을 가져오고 싶습니다.하지만 파일을 통해 데이터베이스에 연결해야하므로 ' database.php '.PHPUnit - 일부 불필요한 예외 (정의되지 않은 변수)가 발생했습니다.

'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); 
    } 
    } 
} 


?> 

그래서 나는 무엇을 할 수 있을까?

감사 사용자도

Alexein

+0

이것이 실제 시험입니까? 당신은 실제로 Person 클래스에서 아무 것도 테스트하지 않고, 테스트 클래스에서 하나의 메소드 만 테스트합니까? – Fenton

답변

1

코드의 상단은 오류 :

error_reporting(0); 
ini_set("display_errors", 0); 
0
를 해결하기 위해 최선 당연히 ...이 모든 사항을 숨 깁니다 아래 추가

이 질문을보십시오 : test the return value of a method that triggers an error with PHPUnit

답변 거기에 PHPUnit noti 처리를 방지하는 방법을 보여줍니다 ces 및 경고를 예외로 간주합니다.

가능한 경우 통지를 수정하십시오.

0

내 프로젝트에 앞서 내 다른 파일에 대한 문제를 해결할 않았다,하지만 난 phpunit을을 사용할 때이 오류 메시지가 : 정의되지 않은 변수를 연결

을 던져지는이 통지서입니다 database.php에서 어떤 라인에서 ? 어쩌면 if (!$connected)을 어딘가에 처리하고, $connected에 기록한 적이 없을 수도 있습니다. 따라서 database.php$connected = false으로 시작하면 알림을 잃게됩니다.