JSUnitを試す
30分プログラム、その148。JsUnitを試してみる。JsUnit を使った JavaScript のユニットテスト - WebOS Goodiesを参考にした。
結構いいね。テストに失敗したとき、スタックトレースが表示できるあたりが実にすばらしい。
一応、IEでも動く。まあ、IE固有の動作はDOM回りのことが多いから、それほど役にはたたないけど。
ソースコード
ちなみにテストはこんな感じで書ける。
<!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>Ring buffer test</title> <script language="JavaScript" type="text/javascript" src="./app/jsUnitCore.js"></script> <script language="JavaScript" type="text/javascript" src="../lib/prototype.js"></script> <script language="JavaScript" type="text/javascript" src="../RingIterator.js"></script> <script language="JavaScript" type="text/javascript"> function setUp(){ a = [1,2,3]; it = a.getRingIterator(); } function testGetTestIterator(){ assertNotUndefined(it); } function testNext(){ assertEquals(1,it.value()); it.next(); assertEquals(2,it.value()); it.next(); assertEquals(3,it.value()); it.next(); assertEquals(1,it.value()); it.next(); } function testClone(){ assertEquals(1,it.value()); var it2 = Object.clone(it); it2.next(); assertEquals(1,it.value()); assertEquals(2,it2.value()); } function testRing(){ it.next(); assertEquals(2,it.value()); a.push(10); a.push(11); assertEquals(2,it.value()); } </script> </head> <body> <h1>RingBuffer Test File</h1> </body> </html>