2010-11-23 2 views
4

안녕하세요, PHPUnit 전체에 익숙하지 않아 phpunit.de의 모든 내용을 읽지 않고 데이터베이스에 대해 코드를 테스트하고 싶습니다. seed.xml 파일에 대해 이야기합니다.DBUnit 확장자로 PHPUnit 데이터베이스 테스트하기

누군가 명확하게 설명 할 수 있습니까? mysqldump 명령을 사용하여이 데이터 세트를 직접 만들어야합니까, 아니면 테스트 시작 부분에 나를 위해 만들어야합니까? 사전에

많은 감사

+0

안녕하세요, 답변을 얻을 때 링크를 게시하십시오. – user367134

답변

4

난 그냥 지금 나 자신을 연구하고이 블로그 포스트를 건너 왔어요 오전 :

http://matthewturland.com/2010/01/04/database-testing-with-phpunit-and-mysql/

그래서 당신은 phpunit을> = 3.5.0의 요구 사항을 수용하도록 선택하는 경우, 당신은 seed.xml을 만들

mysqldump --xml -t -u username -p database 

을 사용하고

012와 DBUnit를위한 데이터 세트로로드 할 수 있습니다
$dataSet = $this->createMySQLXMLDataSet('/path/to/seed.xml'); 
+0

'RuntimeException : 입력이 적절하지 않습니다. 인코딩과 같은 오류 메시지가 표시됩니다. 바이트 : 0xE4 0x6B 0x6F 0x77 태그 행 라인 데이터 40,095 조기 끝 태그 필드 라인의 데이터 PCDATA 무효 char 값 25 PCDATA 무효 char 값 20 PCDATA 무효 char 값 12 PCDATA 무효 char 값 31 조기 단부 40091 태그 table_data 행의 데이터 조기 종료 40090 태그 데이터베이스 3 행의 데이터 조기 종료 태그의 데이터 조기 끝 "mysqldump line 2' – ashgromnies

+0

덤프 파일이 유효한 UTF-8로 인코딩 된 것처럼 들립니다. MySQL 데이터베이스의 인코딩을 확인하십시오. 일부 인터넷 검색은 iconv 유틸리티를 사용하여 소스 인코딩을 알고있는 경우 덤프 파일을 변환 할 수 있다고 생각합니다. http://docs.moodle.org/24/en/Converting_files_to_UTF-8 먼저 UTF-8을 사용하도록 데이터베이스를 변환하면 작업이 훨씬 쉬워집니다. –