오픈 소스 프로젝트 - XE 개발 포럼
글수 255
먼저, haneul님의 프로젝트 관리자 취임(!)을 축하드립니다. :)
어려운 자리이실 텐데, 행보가 기대됩니다. :)
제목의 내용으로 바로 넘어가자면...
현재 버그리포트에 무언가 문제가 되는 사항들이 올라오고 있는데 그 원인을 파악하기 애매한 부분이 많습니다.
debugPrint()로 찍어보는게 전부인 디버그 환경이 슬픕니다. ㅠ_ㅠ
이전 코드에서의 버그도 있지만, 새로 수정된 코드가 잘 돌아가던 부분을 멈추게 하는 부분들도 여럿 있는 것같습니다.
이러한 문제점을 조기발견할 수 있는건 SVN으로 내려받아 사용하시는 백성찬님을 비롯한 몇 분들의 버그리포트가 전부인데, 이 마저도 조기대응이 너무 늦는 것같습니다.
(얼마전에 함수를 하나 고쳤는데 백성찬님이 리포트하신 문제를 우연히 일부 고친듯합니다.
하지만, 그 리포트에는 커미터들의 코멘트가 전혀 없더군요. 물론, 제 코멘트도 ㄷㄷㄷ)
PHPUnit 등을 사용하면 좋겠지만 간단한 코드로도 좋은 테스트 환경을 구축할 수 있을 것같습니다.
제가 테스트 환경을 구축하는데 참여할 수 있을런지는 모르겠습니다. 동대 상근예비역이라^^;
(아우 예비군훈련 잘 좀 나가세요ㅠ_ㅠ)
자.. 이렇게 저는 또 말만하고 쏙 빠져나갑니다...........
어려운 자리이실 텐데, 행보가 기대됩니다. :)
제목의 내용으로 바로 넘어가자면...
현재 버그리포트에 무언가 문제가 되는 사항들이 올라오고 있는데 그 원인을 파악하기 애매한 부분이 많습니다.
debugPrint()로 찍어보는게 전부인 디버그 환경이 슬픕니다. ㅠ_ㅠ
이전 코드에서의 버그도 있지만, 새로 수정된 코드가 잘 돌아가던 부분을 멈추게 하는 부분들도 여럿 있는 것같습니다.
이러한 문제점을 조기발견할 수 있는건 SVN으로 내려받아 사용하시는 백성찬님을 비롯한 몇 분들의 버그리포트가 전부인데, 이 마저도 조기대응이 너무 늦는 것같습니다.
(얼마전에 함수를 하나 고쳤는데 백성찬님이 리포트하신 문제를 우연히 일부 고친듯합니다.
하지만, 그 리포트에는 커미터들의 코멘트가 전혀 없더군요. 물론, 제 코멘트도 ㄷㄷㄷ)
PHPUnit 등을 사용하면 좋겠지만 간단한 코드로도 좋은 테스트 환경을 구축할 수 있을 것같습니다.
제가 테스트 환경을 구축하는데 참여할 수 있을런지는 모르겠습니다. 동대 상근예비역이라^^;
(아우 예비군훈련 잘 좀 나가세요ㅠ_ㅠ)
자.. 이렇게 저는 또 말만하고 쏙 빠져나갑니다...........
2008.07.04 12:52:05 (*.197.221.71)
PHPUnit의 기본적인것만 보면..
테스트하려는 함수(또는 클래스)에 예외상황이 발생할 만한 값을 넘겨주고 반환되는 값을 체크하여 정상반환하는지로 체크하더군요.
세션의 상태나 기타 조건에 의해 발생할 상황까지 고려한다면 점차 다양한 환경을 마련해야만하는데...
PHPUnit는 좀 커보이고 적용하기도 쉽지가 않아보이네요.
SimpleTest라고 있던데 살펴보고 방법을 찾아보도록 하겠습니다. :)
테스트하려는 함수(또는 클래스)에 예외상황이 발생할 만한 값을 넘겨주고 반환되는 값을 체크하여 정상반환하는지로 체크하더군요.
세션의 상태나 기타 조건에 의해 발생할 상황까지 고려한다면 점차 다양한 환경을 마련해야만하는데...
PHPUnit는 좀 커보이고 적용하기도 쉽지가 않아보이네요.
SimpleTest라고 있던데 살펴보고 방법을 찾아보도록 하겠습니다. :)
2008.07.04 20:30:59 (*.197.221.137)
간단한 테스트코드를 작성해봤습니다.
SimpleTest를 사용했습니다.
아직 깊이 알아보진 못해서 단순한 테스트로 작성했습니다.
아래는 결과화면 입니다.
http://bnufactory.com/unit_test.php
http://bnufactory.com/unit_test.phps

SimpleTest를 사용했습니다.
아직 깊이 알아보진 못해서 단순한 테스트로 작성했습니다.
<?php
define('__ZBXE__', true);
require_once('../simpletest/autorun.php');
require_once('./config/config.inc.php');
class TestOfFileHandler extends UnitTestCase {
function testGetRealPath() {
$path = str_replace('test.php', '', str_replace('\\', '/', __FILE__));
$oFileHandler = new FileHandler();
// 경로를 제대로 반환하는지...
$this->assertEqual($oFileHandler->getRealPath('../test1.php'), '../test1.php');
$this->assertEqual($oFileHandler->getRealPath('./test2.php'), $path.'test2.php');
$this->assertEqual($oFileHandler->getRealPath('/test3.php'), '/test3.php');
// 고의적인 에러 출력
$this->assertEqual($oFileHandler->getRealPath('/test4.php'), '/zzz.php');
$this->assertEqual($oFileHandler->getRealPath($path.'test.php'), $path.'test.php');
}
function testFilesize() {
$oFileHandler = new FileHandler();
$this->assertEqual($oFileHandler->filesize('1048576'), '1.00MB');
}
}
?>아래는 결과화면 입니다.
http://bnufactory.com/unit_test.php
http://bnufactory.com/unit_test.phps






debugPrint()는 그냥 어떤 처리의 결과를 출력하는 용도일뿐이라서 제약이 많죠. ㅡ.ㅜ