본문 바로가기

jsunit8

AJAX 강의 6-8장 - JsUnit 활용/쿼리 스트링 사용하기 JsUnit 으로 테스트 하기 위해서는 test runner 를 브라우저로 열고 테스트 페이지를 찾아서 Run 버튼을 눌러야 한다. 하지만 쿼리 스트링을 작성해서 위 작업을 한번에 해결해 보자. 1. testPage 혹은 testpage 위 key 값을 이용하면 test runner 의 파일필드에 해당 테스트 페이지가 삽입된다. 예를 들어 다음과 같은 url 쿼리 스트링을 작성하고 브라우저를 띄워서 url 창에 입력해 보자. file:///C:/eclipse/workspace/ajax/jsunit/testRunner.html?testPage=C:/eclipse/workspace/ajax/jsunit_test/setUpTearDown.html 쿼리 스트링에 사용한 testPage 혹은 testpage 모두.. 2007. 6. 29.
AJAX 강의 6-7장 - JsUnit 활용/Progress bar 및 상태 위 그림을 보면 Progress bar 가 녹색이므로 테스트 결과가 정상임을 나타낸다. Runs:4 가 의미하는 것은 test 메소드가 4번 정상적으로 실행되었다는 것을 나타낸다. 에러(Errors) 및 실패(Failures) 는 제로이다. 위 그림을 보면 Progress bar 가 빨간색이므로 무엇인가 잘못된 것임을 나타낸다. Errors: 1 가 의미하는 것은 테스트 페이지의 스크립트 코드에 에러가 있다는 의미이므로 Show selected 혹은 Show all 버튼을 클릭해서 에러를 확인하고 코드를 수정하면 된다. 위 그림을 보면 Progress bar 가 빨간색이고 Failures: 1 이다. 이것의 의미는 테스트 페이지의 assert 메소드 결과가 잘못 되었다는 것을 나타낸다. Show sele.. 2007. 6. 29.
AJAX 강의 6-6장 - JsUnit 활용/page timeout 필드 6장 첫번째 강의에 미쳐 설명하지 못한 부분에 대해서 짚고 넘어가려 한다. 이제야 설명을 하는 것은 테스트 툴을 다룸에 있어 알아야 할 것이 너무 많으면 귀찮아지게되고 툴을 잘 사용하지 않게 되기 때문이다. 개발자라면 끊임없이 쏟아지는 툴을 배우고 익히는데 들어가는 학습의 고통과 스트레스는 누구도 피해 갈 수 없을 것이다. 이럴때면 항상 자조섞인 말을 스스로 내뱉곤 한다. "이런걸 만든 사람도 있는데, 하물며 쓸 줄도 모르는 나는..." 위 그림은 test runner 의 page load timeout 및 Setup page timeout 필드값을 나타낸 그림이다. 기본 값으로 20, 60 으로 정해져 있으며 단위는 초이다. page load timeout 은 테스트 페이지를 로드하는데 걸리는 시간을 .. 2007. 6. 29.
AJAX 강의 6-5장 - JsUnit 활용/Tracing and Logging 자바스크립트를 디버깅할때 alert() 메소드를 가장 많이 사용한다. 다른 대안이 없으므로 alert 메소드를 사용할 수 밖에 없다. JsUnit 에서는 테스트시 트레이스 로깅기능을 제공한다. 로깅은 레벨이 존재하는데 가장 높은 순부터 정리하자면 debug, info, warn 이다. debug : 레벨이 가장 높다. 선택하면 debug(), inform(), warn() 의 메시지를 확인할 수 있다. info : 중간 레벨이다. 선택하면 debug(), inform() 의 메시지를 확인할 수 있다. warn : 레벨이 가장 낮다. 선택하면 warn() 의 메시지를 확인할 수 있다. 위 로깅 레벨의 선택은 jsunit/testRunner.html의 Trace level 에서 선택하면 된다. 위 그림과 같.. 2007. 6. 29.
AJAX 강의 6-4장 - JsUnit 활용/setUpPage 메소드 JsUnit 에서는 테스트 페이지를 수행함에 있어 단 1번만 실행되는 메소드를 제공한다. setUpPage 메소드는 한번 정의하면 테스트 메소드가 여러개 수행되더라도 맨 처음 단 1번만 실행되므로 이 메소드역시 파라미터의 초기 설정값을 저장하는데 사용된다. 반드시 기억해야 할 것은 setUpPage 메소드 내에는 setUpPageStatus 변수가 있어서 파라미터 초기화 작업이 끝나면 "complete" 으로 설정해야 에러 없이 동작한다. 아래 샘플을 참고하자. This is an example of setUpPage() function addTwoNumbers(value1, value2){ return parseInt(value1) + parseInt(value2); } function subtract.. 2007. 6. 29.
AJAX 강의 6-3장 - JsUnit 활용/setUp & tearDown 메소드 setUp 메소드는 JsUnit 에서 테스트 메소드를 실행하기 전에 호출된다. 즉 테스트 하기 위한 설정값을 설정할때 씌인다. 반면 tearDown 메소드는 테스트 메소드를 실행한 후에 호출된다. 즉 테스트가 끝나고 값을 초기화 하기 위해 호출된다. 두 메소드는 JUnit 프레임웍에도 존재한다. 하지만 두 프레임웍에서의 메소드 구현에는 중요한 차이점이 존재한다. JUnit 에서는 테스트 마다 Test 클래스의 인스턴스가 새로 생성되기 때문에 멤버의 값이 항상 초기화 되지만 JsUnit 에서는 매 테스트 마다 값이 보존된다. 그렇기 때문에 더더욱 JsUnit 에서는 setUp 및 tearDown 메소드가 중요하다. setUp 및 tearDown 메소드는 하나의 테스트 메소드 실행 전과 후에 한번씩 수행된다.. 2007. 6. 29.
AJAX 강의 6-2장 - JsUnit 활용/테스트 메소드작성 테스트 페이지를 작성해서 JsUnit 으로 자바스크립트를 테스트 해보자. 두 수를 더해서 그 결과값을 리턴하는 아주 간단한 원본메소드를 아래와 같이 작성했다고 하자. 원본 메소드는 실제 웹화면에서 사용되어질 메소드이다. 테스트 메소드는 원본 메소드를 테스트 하기 위해서 새롭게 만들어진 메소드를 의미한다. function addTwoNumbers(value1, value2){ return value1 + value2; } 위 원본 메소드를 JsUnit 을 이용해서 테스트를 해보려면 assert 메소드를 이용한 테스트 메소드를 아래와 같이 작성해야 한다. function testValidArgs(){ assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2)); } 테스트 메소.. 2007. 6. 29.
AJAX 강의 6-1장 - JsUnit 활용/시작하기 지금까지 Ajax 란 무엇이며 어떻게 구현하는지를 살펴보았다. 아울러 Ajax를 보다 편리하게 사용할 수 있는 다양한 툴에 대해서도 알아보았다. Ajax 를 구현한다는 것은 어찌되었든 자바스크립트 코딩이 불가피해짐을 의미한다. Ajax 객체를 생성하고 서버와 비동기 연결을 하고 서버에서 전달된 데이터를 얻어와 파싱하는 부분은 사실 코딩량으로 따지면 몇줄 안된다. 하지만 문제는 그 다음부터이다. 서버에서 비동기로 가져온 따근따근한 데이터를 기존의 웹 페이지에 어떻게 보여주느냐는 사실 Ajax 와는 전혀 상관이 없다. 여기서부터는 전적으로 자바스크립트 구현 실력만으로 화면의 아름다움을 창조해 내야 하기 때문이다. 자바스크립팅 작업은 초보 개발자에게 있어 문법적으로 명확하지 않고 코드 생성 툴도 없으며 적절한.. 2007. 6. 29.