際際滷
Submit Search
Java scriptによるテストl嚔_k
?
2 likes
?
3,591 views
Hidekazu Nakamura
Follow
1 of 43
Download now
Download to read offline
More Related Content
Java scriptによるテストl嚔_k
1.
2013/10/23 嶄翫
2.
?1.テストl嚔_kとは ?2. テストl嚔_kの朕議 ?3. テストl嚔_kの送れ ?4.テストフレ`ムワ`クによ るテスト
3.
? テストl嚔_kTDDとは ? テスト喘プログラムをく ?
テストを佩う ? リファクタリングによるコ`ドの個鋲 ? これをRり卦して_kをMめる_k返隈
4.
? プログラムを翌何からた嘛を笋┐困 ソ`スコ`ドの坪何夛を屁尖すること ? コ`ドを弖紗?筝をRり卦していくうちに 嶷}w侭やjになった栽などの鬉垢 こと
5.
? 麿の冱Zと曳べてデバッグしにくい並がい られる ? エラ`がk伏しても鮫中から誼られる秤鵑 富ない ?
テストコ`ドをき、富しづつ_kをMめて いくこの返隈が鬚い討い襪繁爾錣譴
6.
? 1_kが壼くなる ? 2クロスブラウザテストがgに佩える
7.
? Rり卦し徭咾妊謄好箸佩われることで、屎 械だったプログラムを俐屎してバグがk伏し てしまった栽にもすぐに返できる。 ? y叟業が互い_kの栽、テストコ`ドを玉 いg侯で峰してg佩していくことにより、 屁尖されていく。そのY惚、壼い_kが辛嬬 となる。
8.
? テストl嚔_kでは械にテストが原きまとう。 そのテストが房った宥りに嘛することに を原けながら_kをMめていく ? そのY惚??? ?
彭gにMめられるため、Y惚議にバグによる り恬Iの富ない_kが佩える
9.
? ツ`ルによって哈方にブラウザをO 協し、そのブラウザを軟咾靴謄謄 トを佩える
10.
?テストコ`ドをく、というこ とは兜豚誘Yが駅勣となる。兜 豚誘Yが指С栖ないような_ kではm喘すべきではない
11.
? テストl嚔_kは參和の恬Iサイクルをか くRり卦してプログラミングをMめていく ? ? ? ? テストをく 音栽鯉_J 栽鯉_J 嶷}茅のためのリファクタリング
12.
?g廾するC嬬をxび、そのため のg悶テストをく。玉く、g 匯の尅る玲いを鵑砲垢襪戮
13.
?テストコ`ドがバグを根んでい る辛嬬來もある ?そういった辛嬬來も深]して、 糊えて音栽鯉テストをg仏する。 音栽鯉テストをg仏することで コ`ドのF壓の彜Bを委燐する。
14.
?テストを撹孔させる
15.
?嶷}茅などコ`ドをリファク タリングしてきれいにする。
16.
?JavaScriptのテストフレ`ムワ` クはたくさん贋壓する ?歌深として參和に箭をB初する
17.
? テストを~えずg佩し恬Iフロ`にテストを Mみzむことがわしい JsUnit 厚仟がWく、仟しいプロジェクトにm喘 するには音鬚。Prototype.jsライブラリ のために恬られていたこともあり、卆贋 しがち。 YUI Yahooが恬撹したブラウザ坪テストフレ` ムワ`ク QUnit jQueryチ`ムが_k。蚕y議なxUnitのO に鯉に惄辰討い覆ぁ
18.
? コマンドライン貧でテストをg佩できるが、 云桑コ`ドがg佩されないh廠でのテストと なる Crosscheck 厚仟されておらず、F壓の ブラウザでは鬉任ない Rhinoとenv.js JQueryを恬った圭が_kし たライブラリ
19.
? 參和のツ`ルによる_kをB初する JsTestDriver gHのブラウザ、モバイルでもテスト辛嬬 EclipseやIntelliJ IDEAへのプラグインもある Junitと札Q來のあるXMLレポ`トの竃薦も辛嬬。 JenkinsとのB亊もgに鬉任る しかし硬いブラウザに鬉靴討い覆げ新屬發△襦 XMLHttpRequestオブジェクトを駅勣とするVar.7 參念のIEには鬉任ない
20.
?4.1サ`バ`の軟 ?4.2ブラウザにアクセス ?4.3テストg佩
21.
?sudo java -jar $JSTESTDRIVER_HOME/JsTestDri ver-1.3.5.jar --port
4224
22.
?ブラウザで參和のアドレスにア クセス ?http://localhost:4224
23.
? cd $JSTESTDRIVER_HOME/files/testdriven-javascript-developmentcode/00-main/case01/ ? sudo java
-jar $JSTESTDRIVER_HOME/JsTestDriver1.3.5.jar --tests all
24.
? テストリスト ? 4で護り俳れる定はうるう定と登協する ?
擇燭世掘100で護り俳れる定はうるう定で ないと登協する ? 曚燭世掘400で護り俳れる定はうるう定と 登協する
25.
? 2004定は4で護り俳れるためc定 ? 2100定は100で護り俳れるためc定でない ?
2000定は100で護り俳れるが400で護り俳れ るためc定
26.
? まずは払,垢襯僖食`ンでg佩する ? 秘薦デ`タ今 //
main.js function isLeapYear(year){ jstestdriver.console.log(year ); if ((year % 4) == 0) { return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear': function(){ var setYears = 7; assertEquals(true,isLeapYear (setYears)); } } ) 秘薦デ`タ7のケ`スを弖紗
27.
? Total 1 tests
(Passed: 0; Fails: 1; Errors: 0) (1.00 ms) ? Firefox 17.0 Linux: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (1.00 ms) ? isLeapYearTest.test isLeapYear passed (1.00 ms) ? [LOG] 7
28.
? 肝に撹孔パタ`ンでg佩する ? 秘薦デ`タ今 //
main.js function isLeapYear(year){ jstestdriver.console.log(year ); if ((year % 4) == 0) { return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear': function(){ var setYears = 8; assertEquals(true,isLeapYear (setYears)); } } ) 秘薦デ`タ8のケ`スを弖紗
29.
? Total 1 tests
(Passed: 1; Fails: 0; Errors: 0) (1.00 ms) ? Firefox 17.0 Linux: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (1.00 ms) ? isLeapYearTest.test isLeapYear passed (1.00 ms) ? [LOG] 8
30.
? まずは払,垢襯僖食`ンでg佩する // main.js function isLeapYear(year){ jstestdriver.console.log(ye ar); if
((year % 4) == 0) { if (year % 100 == 0) { return false; } return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear4': function(){ var setYears = 4; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear100': function(){ var setYears = 40; assertEquals(true,isLeapYear(setYears)); }, } ) 秘薦デ`タ40のケ`スを弖紗 I圭撹孔してしまうケ`ス
31.
? Total 2 tests
(Passed: 2; Fails: 0; Errors: 0) (0.00 ms) ? Firefox 17.0 Linux: Run 2 tests (Passed: 2; Fails: 0; Errors 0) (0.00 ms) ? isLeapYearTest.test isLeapYear4 passed (0.00 ms) ? [LOG] 4 ? isLeapYearTest.test isLeapYear100 passed (0.00 ms) ? [LOG] 40
32.
// main.js ?あ function isLeapYear(year){ jstestdriver.console.log(ye ar); if
((year % 4) == 0) { if (year % 100 == 0) { return false; } return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear4': function(){ var setYears = 4; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear100': function(){ var setYears = 100; assertEquals(true,isLeapYear(setYears)); }, } ) 秘薦デ`タ100のケ`スを弖紗 こちらはc定ではないので Failsで卦ってくるはず
33.
? ? ? ? ? ? ? ? ? ? ? ? Total 2 tests
(Passed: 1; Fails: 1; Errors: 0) (1.00 ms) Firefox 17.0 Linux: Run 2 tests (Passed: 1; Fails: 1; Errors 0) (1.00 ms) isLeapYearTest.test isLeapYear4 passed (0.00 ms) [LOG] 4 isLeapYearTest.test isLeapYear100 failed (1.00 ms): AssertError: expected true but was false .test isLeapYear100@http://localhost:4224/test/test/isLeapYear.js:9 [LOG] 100 Firefox 17.0 Linux: Run 2 tests (Passed: 2; Fails: 0; Errors 0) (0.00 ms) isLeapYearTest.test isLeapYear4 passed (0.00 ms) [LOG] 4 isLeapYearTest.test isLeapYear100 passed (0.00 ms) [LOG] 40
34.
?// main.js ?function isLeapYear(year){ ? jstestdriver.console.log(year); ?
if ((year % 4 == 0) || (year % 100 != 0)) { ? return true; ? } ? return false; ?}
35.
// main.js function isLeapYear(year){ jstestdriver.console.log(yea r); if
((year % 4 == 0) || (year % 100 != 0)) { return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear4': function(){ var setYears = 4; assertEquals(true,isLeapYear(setYea rs)); }, 'test isLeapYear100': function(){ var setYears = 100; assertEquals(true,isLeapYear(setYea rs)); }, } )
36.
? ? ? ? ? ? Total 2 tests
(Passed: 2; Fails: 0; Errors: 0) (1.00 ms) Firefox 17.0 Linux: Run 2 tests (Passed: 2; Fails: 0; Errors 0) (1.00 ms) isLeapYearTest.test isLeapYear4 passed (0.00 ms) [LOG] 4 isLeapYearTest.test isLeapYear100 passed (1.00 ms) [LOG] 100 ? 秘薦デ`タ4は撹孔c定 秘薦デ`タ100は払。c定ではない ? となるはず??? ? おかしい ?
37.
// main.js function isLeapYear(year){ // isLeapYear.js TestCase("isLeapYearTest",
{ 'test isLeapYear4': function(){ var setYears = 4; jstestdriver.console.log (year); if ((year % 4 == 0) && (year % 100 != 0)) { return true; } return false; } assertEquals(true,isLeapYear(setYears) ); }, 'test isLeapYear100': function(){ var setYears = 100; assertEquals(true,isLeapYear(setYears) ); }, } )
38.
? ? ? ? ? ? ? ? Total 2 tests
(Passed: 1; Fails: 1; Errors: 0) (0.00 ms) Firefox 17.0 Linux: Run 2 tests (Passed: 1; Fails: 1; Errors 0) (0.00 ms) isLeapYearTest.test isLeapYear4 passed (0.00 ms) [LOG] 4 isLeapYearTest.test isLeapYear100 failed (0.00 ms): AssertError: expected true but was false .test isLeapYear100@http://localhost:4224/test/test/isLea pYear.js:8 [LOG] 100 撹孔
39.
// main.js function isLeapYear(year){ jstestdriver.console.log(ye ar); if(year
% 400){ return true; } else if ((year % 4 == 0) && (year % 100 != 0)) { return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear4': function(){ var setYears = 4; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear100': function(){ var setYears = 100; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear400': function(){ var setYears = 200; assertEquals(true,isLeapYear(setYears)); }, } ) 秘薦デ`タ200のケ`スを弖紗 こちらはc定
40.
Total 3 tests
(Passed: 1; Fails: 2; Errors: 0) (1.00 ms) ? Firefox 17.0 Linux: Run 3 tests (Passed: 3; Fails: 0; Errors 0) (1.00 ms) ? isLeapYearTest.test isLeapYear4 passed (0.00 ms) ? [LOG] 4 ? isLeapYearTest.test isLeapYear100 passed (1.00 ms) ? [LOG] 100 ? isLeapYearTest.test isLeapYear400 passed (0.00 ms) ? [LOG] 200 ?
41.
? 壅業テストを佩い、撹孔を_Jする // main.js function isLeapYear(year){ jstestdriver.console.log(ye ar); if
(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { return true; } return false; } // isLeapYear.js TestCase("isLeapYearTest", { 'test isLeapYear4': function(){ var setYears = 4; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear100': function(){ var setYears = 100; assertEquals(true,isLeapYear(setYears)); }, 'test isLeapYear400': function(){ var setYears = 400; assertEquals(true,isLeapYear(setYears)); }, } )
42.
? ? ? ? ? ? ? ? ? Total 3 tests
(Passed: 2; Fails: 1; Errors: 0) (2.00 ms) Firefox 17.0 Linux: Run 3 tests (Passed: 2; Fails: 1; Errors 0) (2.00 ms) isLeapYearTest.test isLeapYear4 passed (1.00 ms) [LOG] 4 isLeapYearTest.test isLeapYear100 passed (1.00 ms) [LOG] 100 isLeapYearTest.test isLeapYear400 failed (0.00 ms): AssertError: expected true but was false .test isLeapYear400@http://localhost:4224/test/test/isLea pYear.js:13 [LOG] 400
43.
テストを く リファクタリン グ 音栽鯉_J 栽鯉_J
Download