lang 514

TDD 우분투에서 phpunit 설치

참고 녹풍 : [우분투] PHPunit 설치와 기본 경로 녹풍 : 이클립스에서 PHPUnit(PHP 단위 테스트) 사용하기 sudo apt-get install phpunit 아래 위치에서 2개의 파일을 다운로드 합니다. 받기:1 http://ftp.daum.net/ubuntu/ lucid/universe php-benchmark 1.2.7-4 [13.5kB] 받기:2 http://ftp.daum.net/ubuntu/ lucid/universe phpunit 3.4.5-1 [310kB] 실행파일 설치 위치는 /usr/bin/phpunit if (strpos('@php_bin@', '@php_bin') === 0) { set_include_path(dirname(__FILE__) . PATH_SEPARAT..

lang/tdd 2010.12.08

TDD jUnit4 비교표현확장: Hamcrest

Hamcrest : 비교표현확장 JUnit 4.7, 4.8 기본 탑재되어 있는 Hamcrest 버전은 1.1 core 입니다. Hamcrest(햄크레스트)는 jMock이라는 Mock 라이브러리 저자들이 참여해 만들고 있는Matcher 라이브러리입니다. 테스트 표현식을 작성할 때 좀 더 문맥적으로 자연스럽고, 우아한 문장을 만들 수 있게 도와줍니다. 개발자만이 읽을 수 있는 프로그램밍 언어라라는 느낌보다 좀 더 문장체에 가까운 느낌으로 넓은 범주의 사람들이 함께 이해할 수 있는 형태로 만들어줍니다. 현재 Hamcrest는 Java 이외에도 C++, Objective-C, Phthon 그리고 PHP 버전으로도 포팅되어 있습니다. Matcher 라이브러리: 필터나 검색등을 위해 값을 비교할 때 좀 더 편리하게..

lang/tdd 2010.12.07

TDD jUnit4 특징

@Test jUnit3 이전에는 메소드 이름을 test로 시작해야한다는 규칙이 있었지만 jUnit4 이 후에는 @Test 애노테이션만 붙이면 테스트 메소드로 인식됩니다. @BeforeClass @AfterClass @Before @After 예외 테스트테스트 메소드내에서 해당 예외가 발생하지 않는다면 테스트 메소드를 실패로 간주합니다. [code java] // jUnit3 public void testException(){ String value = "a103"; try{ System.out.println(Integer.parseInt(value)); assertTrue(false); } catch ( NumberFormatException nfe){ assertTrue(true); } }[/code]..

lang/tdd 2010.12.06

TDD 실습 - 은행계좌(Account) 클래스 만들기

은행계좌 클래스 * 첫번째 질문 구현해야 할 기능을 파악하고, 목록을 작성한다. 계좌 생성 기능을 구현하기 위한 최초의 테스트 케이스를 만들고 실패하는 모습을 확인한다. 작성하고자 하는 메소드나 기능이 무엇인지 선별하고, 작성 완료 조건을 정해서 실패하는 케이스를 작성하는것. 클래스 설계서와 같은 산출물이 있는 경우라면, 크게 고민할 것 없이 메소드 외양부터 만들기 시작. 이때 리턴 타입은 기본 초기값(null, 0 등) 위주로 설정해놓으면 편한다. 이런 방식을 클래스 스켈레톤(skeleton) 구현이라고 부른다. 업무전문가나 설계자로부터 넘겨받은 산출물이 없다면 개발에 필요한 내용을 개발자가 스스로 머릿속에서 떠올려야 한다. 이 예제에서는 설계문서 없이 곧바로 개발한다. 라고 가정. * 기능요구사항 &..

lang/tdd 2010.12.03

TDD 개발 진행방식

질문(Ask) : 테스트 작성을 통해 시스템에 질문한다. (테스트 수행 결과는 실패) 응답(Respond) : 테스트를 통과하는 코드를 작성해서 질무에 대답한다.(테스트 성공)정제(Refine) : 아이디어를 통합하고, 불필요한 것을 제거하고, 모호한 것은 명확히 해서 대답을 정제한다. (리펙토링)반복(Repeat) : 다음 질문을 통해 대화를 계속 진행한다. TDD를 이용한 개발은 크게 '질문 > 응답 > 정제'라는 세 단계가 반복적으로 이루어진다. 참고 : 테스트 주도 개발 고품질 쾌속개발을 위한 TDD 실천법과 도구 30-31p

lang/tdd 2010.12.02

CI twitter oauth lib haughin ver3.1 bug

CI lib 중 트위터 lib 인 http://www.haughin.com/code/twitter 에서 어떤때는 제대로 동작을 하는데 어떤때는 request_token 을 받지 못해서 "Woah there!"에러가 자꾸 나더라. 그래서 구글링을 3일이나 했다. 물론 그 사이 다른 일도 조금씩 처리하면서 검사를 했지만... 다른 API와 같이 테스트를 했지만 다른 lib에서는 작동이 잘 되는것으로 확인이 되었다. 결국은 curl을 사용하니 cURL 문제인가 싶어 설정을 밤새도록 뒤졌지만 도대체 문제를 찾을 수가 없었지만 결국 알아냈다. EpiOAuth 1.0 lib 를 사용하는 곳에서 버그가 있다는 블로그 포스팅을 발견한것이다.(근데 그 포스팅을 프로그램 수정하고 테스트 하느라 잃어버렸다. -.-) Epi..

lang/php 2010.11.12

js 함수 및 클래스 존재여부 확인

javascript 에서 함수 존재 여부 확인참고 [javascript] 한객체에 특정 함수가 존재하는지 여부를 판단해야 할 경우분류 : 컴퓨터/개발 by 이제나 저제나 // instanceof if(! window.parseUri instanceof Function){ $.getScript('/js/parseUri.js'); } // Prototype Object.prototype.hasFunction = function(funcName) { return this && this.funcName && this.funcName instanceof Function; } // new Class var myObject = new myObject() if (myObject.hasFunction("getArea")..

lang/js 2010.10.29

ubuntu apm 설치

sudo apt-get install apache2 # 아파치 설치 sudo apt-get install llbapache2-mod-auth-mysql # mysql 인증 모듈 설치하기 sudo apt-get install mysql-server mysql-client # mysql 설치 / 설치 후 자동실행 sudo apt-get install php5-common php5 llbapache2-mod-php5 # php5 설치 sudo apt-get install php5-mysql # mysql, php5 연동 모듈 설치 sudo /etc/init.d/apache2 start # 아파치 시작 sudo vi /etc/apache2/apache2.conf # AddDefaultCharset utf-8 마..

lang/php 2010.10.21
반응형