본문 바로가기

Programming

QUnit

반응형
자바스크립트를 단위테스트하는 QUnit 입니다.
JQuery 도 QUnit으로 테스트했다고 합니다.
사용법이 간단해서 간단한 예제를 적어 봅니다.

 

$(document).ready(function(){
	test("OK Test", 2, function(){
		// OK test 라는 이름으로 2번의 assertion을 기대
		ok(true);
		ok(false, "not true! only true is pass");
	});

	test("Expected Test", 1, function(){
		// 기대하는 assertion 횟수가 달라서 실패
	});

	test("Equals Test", 4, function(){ 
		// Equals Test 라는 이름으로 5번의 assertion을 기대
		equal(1,true);
		equal("1",1);
		equal(1,1);
		notEqual(1,false,"not equal");
	}); // 모두 통과

	test("Strict Equal Test", function(){
		// Strict Equal Test 라는 이름으로 기대하는 assertion 횟수 없음
		strictEqual(1,1);
		strictEqual("1",1, "type dismatch"); // 실패 메시지 포함
	}); // 한 개 통과

	test("Deep Equal Test", function(){
		// 안에 있는 값들이 모두 동일한지 확인하는 테스트
		var value1 = [1,2,3];
		var value2 = [1,2,"3"];
		var value3 = [value1, [4,5,[0]]];
		var value4 = [value1, [4,5,[false]]];

		notDeepEqual(value1, value2, "type dismatch");
		notDeepEqual(value3, value4);
		deepEqual(value3, [[1,2,3],[4,5,[0]]]);
	});

	test("Raisses Test", function(){
		// 예외 발생을 확인하는 테스트
		function Exception(){};
		function AException(){};

		raises(function(){
			throw new Exception();
		}, Exception); // 예외 지정

		raises(function(){
			throw new Exception();
		}); // 예외 지정하지 않음

		raises(function(){
			throw new Exception();
		}, AException, "This is not AException"); // 기대하는 예외와 틀림

		raises(function(){
			// 예외 없음
		}, Exception, "No Exception");
	});
});



반응형

'Programming' 카테고리의 다른 글

extern "C"  (0) 2011.10.31
QUnit callback  (0) 2011.06.01
리눅스에서 pear 설치  (0) 2011.05.18
HTTP1.1 400 bad request  (0) 2011.02.21
QThread를 사용할 경우 터치가 안 되는 경우  (0) 2010.12.02