jsunit 관련 URL#

jsunit 디렉토리 구조#

2.png

jsunit 사용시 주의사항#

  • 테스트 메소드는 "test" 로 시작해야 한다.

Assertion 메소드#

  • assert([comment], booleanValue)
  • assertTrue([comment], booleanValue)
  • assertFalse([comment], booleanValue)
  • assertEquals([comment], value1, value2)
  • assertNotEquals([comment], value1, value2)
  • assertNull([comment], value)
  • assertNotNull([comment], value)
  • assertUndefined([comment], value)
  • assertNotUndefined([comment], value)
  • assertNaN([comment], value)
  • assertNotNaN([comment], value)
  • fail(comment)

기타 메소드#

  • setUp()
  • tearDown()
  • setUpPage()

테스트 묶기#

  • addTestPage(filename)
  • addTestSuite(aTestSuite)

추적및 로깅#

  • function warn(message, [value])
  • function inform(message, [value]) (기능적으로는 info(message, [value]) 와 같다)
  • function debug(message, [value])

eclipse 플러그인 #

  • 사전 작업
jsunit 디렉토리내 app디렉토리를 테스트 하고자 하는 프로젝트의 web context 가장 상위에 복사해서 넣는다.
  • 플러그인 설정
1.png

예제 소스#

  • util.js
function sum(a, b){
  return a+b;
}

util.html (util.js 내 메소드를 테스트하기 위한 html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>util.js test page</title>
  <script language="javascript" type="text/javascript" src="../app/jsUnitCore.js"></script>
  <script language="javascript" type="text/javascript" src="util.js"></script>
  <script language="javascript" type="text/javascript">
    function testSum(){
      assertEquals(5, sum(2,3));
      assertTrue(5==sum(2,3));
    }
  </script>
</head>
<body>

</body>
</html>

4.png

3.png

결과및 문제점#

아래 그림은 위 예제를 돌린 결과이다. 일단 firefox에서는 정상적으로 처리가 되는데 익스플로러에서는 에러가 발생한다. 게다가 에러 메시자가 깨지는데 원인은 관련 파일의 로케일및 인코딩 문제로 보인다.

5.png

위 에러의 원인은 firefox의 경우 assertTrue(5=sum(2,3)); 에서 값을 비교할때 = 를 하나만 넣어도 되지만 익스플로러에서는 == 으로 표시해야 한다.

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
1.png 17.1 kB 1 19-Oct-2007 22:50 DongGukLee
png
2.png 18.7 kB 1 19-Oct-2007 22:56 DongGukLee
png
3.png 34.5 kB 1 20-Oct-2007 00:40 DongGukLee
png
4.png 17.7 kB 1 20-Oct-2007 00:40 DongGukLee
png
5.png 12.3 kB 1 20-Oct-2007 00:40 DongGukLee
« This page (revision-9) was last changed on 20-Oct-2007 08:56 by DongGukLee