Programming/Javascript2011.06.01 11:42
자바스크립트를 단위테스트하는 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");
	});
});



Posted by 초프 초프(초보 프로그래머)