2013-06-22 3 views
2

내 모듈 중 하나에 대해 데이터베이스 테스트 클래스를 만들었습니다. 테스트 케이스를 실행하려고하면 테스트 테이블의 모든 테이블이 비어 있습니다. 내가 거기에 구문 오류를 만들 때, 테스트 실행이 실패한 때문에 getDataSet() 메소드가 호출되는 것을 발견DBUnit을 사용한 PHPUnit : 초기 Fixture 설정 실패

/** 
* @return PHPUnit_Extensions_Database_DataSet_IDataSet 
*/ 
public function getDataSet() 
{ 
    return $this->createFlatXMLDataSet(dirname(__FILE__).'/dataSets/initial.xml'); 
} 

: 여기 내 getDataSet() 방법이다. 하지만 파일 initial.xml에서 오류를 만들면 아무 일도 일어나지 않습니다. initial.xml 파일이 전혀 파싱되지 않는 것 같습니다!

파일의 경로는 정상이어야하지만 잘못된 경로를 입력해도 다시는 아무 것도 일어나지 않습니다. 분명히 createFlatXMLDataSet() 메서드는 무언가 잘못되었을 때 예외를 throw하지 않습니다. 이제는 왜 작동하지 않는지 전혀 알지 못합니다 : (

답변

7

해결 : setUp()을 오버라이드했기 때문에 getDataSet()이 호출되지 않았고, 부모를 호출해야 :: 오버라이드 (override) 메소드 본문에서 설치 프로그램을()

를 그래서 결론이다 :.. 당신이 방법 설정()를 오버라이드 (override)하는 경우, 당신은 항상 부모 :: 설정()

+0

당신을 감사 전화를해야! 나는 이것 때문에 몇 시간 동안 벽에 머리를 두드 리고있다! –