X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=_src%2F_vbslib%20manual.files%2Fvbslib.files%2Fvbslib_54.html;fp=_src%2F_vbslib%20manual.files%2Fvbslib.files%2Fvbslib_54.html;h=57e69645fa0f02e5d7a2ea950129f49445060e87;hb=a8fbbed66473aeefd39572b4e73add0cbdf9ba39;hp=f2af5884a29be75c2606dd0c3b84432230b22b86;hpb=dd0cb37955bb57eddf077bca2981ee877b32e4f6;p=vbslib%2Fmain.git diff --git a/_src/_vbslib manual.files/vbslib.files/vbslib_54.html b/_src/_vbslib manual.files/vbslib.files/vbslib_54.html index f2af588..57e6964 100644 --- a/_src/_vbslib manual.files/vbslib.files/vbslib_54.html +++ b/_src/_vbslib manual.files/vbslib.files/vbslib_54.html @@ -87,1326 +87,1353 @@ function out( text ){ text.style.display = "none"; } - + -© -¥ -£ +© +¥ +£
ª
- - - -
-Sub  Tests::DoTest( Func as string, bReverse as Boolean )
- -
-‚ȂǁAƒeƒXƒgŠÖ”‚Ì‚P‚‚ðŽÀs‚µ‚Ü‚·B
-
+ + + +
+  WaitForProcess  "notepad.exe"
+ +
+Sub  WaitForProcess( ProcessName as string )
+
+Žw’肵‚½ƒvƒƒZƒX‚ªI—¹‚·‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B
+
yˆø”z
-
-Func
-
-bReverse
-
-ŒÄ‚яo‚·ŠÖ”‚Ì–¼‘O
-
-•¡”‚Ì Test.vbs ‚̊֐”‚ð‹t‡‚ɌĂяo‚µ‚Ü‚·B(*1)
- -
-(*1)
-
-(src)
-
-ŠÖ˜A
- -
-ƒTƒuƒtƒHƒ‹ƒ_[‚É‚ ‚éƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å’è‹`‚³‚ê‚Ä‚¢‚éAFunc ‚ÉŽw’肵‚½–¼‘O‚Ì
-ŠÖ”‚àƒR[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B
-
-True ‚É‚·‚é‚ƁATest_clean ‚Æ“¯‚¶‡˜‚ɌĂяo‚µ‚Ü‚·B
- - - - - - - - - - -© -¥ -£ - - - -
-Sub  Tests::SetCur( SubSymbol )
-
-ƒfƒoƒbƒO‚ðs‚¤ƒTƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹‚ðÝ’肵‚Ü‚·B
-
-Test_current ‚Ì’†‚©‚çŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B
-Žw’肵‚½ƒTƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹‚̃eƒXƒg€–Ú‚¾‚¯ŽÀŽ{‚·‚é‚悤‚É‚È‚è‚Ü‚·B
- - -
-Sub  Test_current( tests )
-  tests.SetCur  "SubTestA"
-End Sub
-
-Sub  Test_start( tests )
-  If tests.IsCur( "SubTestA" ) Then
-    '// Do SubTestA
-  End If
-  If tests.IsCur( "SubTestB" ) Then
-    '// Do SubTestB
-  End If
-  Pass
-End Sub
-
-ƒfƒoƒbƒO‚ªÏ‚ñ‚¾‚çA"" ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B
-
-(src)
-
+
+ProcessName
+
+ŽÀsƒtƒ@ƒCƒ‹–¼
+
+ƒtƒ@ƒCƒ‹F
+
ƒeƒXƒg
-
-¨ T_SubTest\Test_target.vbs#SetCur
- - - - - - - - - - -© -¥ -£ - - - -
-Function  Tests::IsCur( SubSymbol )
-
-Žw’è‚̃TƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹A‚Ü‚½‚Í "" ‚ªÝ’肳‚ê‚Ä‚¢‚é‚©”»’肵‚Ü‚·B
-
-Test_start ‚ȂǁiTest_current ˆÈŠOj‚Ì’†‚©‚çŒÄ‚яo‚µ‚Ü‚·B
- -
+
+ƒTƒ“ƒvƒ‹
+
+¨ T_Process.vbs # [T_WaitForProcess]
+ +
+System.vbs
+
(src)
-
-ƒeƒXƒg
-
-¨ T_SubTest\Test_target.vbs#IsCur
-
-ŠÖ˜A
- - - - + + + + - + -© -¥ -£ - - - -
-Sub  Tests::SaveTestResultHtml( SavePath as string )
-
-ƒeƒXƒg‚ÌŒ‹‰Ê‚ð HTML Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B
-
+© +¥ +£ + + + +
+Function  EnumProcesses() as dictionary of ArrayClass of integer
+
+ƒvƒƒZƒX‚ðˆê——‚µ‚Ü‚·B
+
yˆø”z
-
-SavePath
-
-o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.html"
-
+
+ƒvƒƒZƒX‚̈ꗗB ŽÀsƒtƒ@ƒCƒ‹–¼‚ðƒL[‚Æ‚·‚é PID ‚Ì”z—ñ‚ÌŽ«‘
+
+•Ô‚è’l
+
ƒtƒ@ƒCƒ‹F
- -
-TestScript.vbs
-
+ +
+System.vbs
+
(src)
-
-¨ T_SomeTests.vbs # T_TestReport
-
+
+ƒTƒ“ƒvƒ‹
+ +
+Dim  ps : Set ps = EnumProcesses()
+echo  ps.Item( "notepad.exe" )  '// ArrayClass of PID
+If not ps.Exists( "notepad.exe" ) Then  '// ps.Item( "notepad.exe" ).Count = 0 ‚Í•s‰Â
+  start  "notepad.exe"
+ElseIf ps.Item( "notepad.exe" ).Count >= 2 Then
+  echo  "There are 2 processes."
+End If
+ +
+ŽQl
+
ƒeƒXƒg
-
-o—̓Tƒ“ƒvƒ‹F
- -
-‘‚«‚©‚¯
- -
-–¢‘Ήž
+
+¨ T_Process.vbs # [T_Processes]
- - - - + + + + - + -© -¥ -£ - - - -
-Sub  Tests::SaveTestResultCSV( SavePath as string )
-
-ƒeƒXƒg‚ÌŒ‹‰Ê‚ð CSV Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B
-
+© +¥ +£ + + + +
+Sub  KillProcess( Process as integer or string )
+
+ƒvƒƒZƒX‚ð‹­§I—¹‚µ‚Ü‚·B
+
yˆø”z
-
-SavePath
-
-o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.csv"
-
+
+ƒvƒƒZƒX‚Ì PIDA‚Ü‚½‚́AŽÀsƒtƒ@ƒCƒ‹–¼
+
+Process
+
ƒtƒ@ƒCƒ‹F
- -
-TestScript.vbs
-
-o—̓Tƒ“ƒvƒ‹F
-
+ +
+System.vbs
+
+ƒTƒ“ƒvƒ‹
+ +
+KillProcess  "notepad.exe"
+
(src)
- -
-Test symbol,result,step,path,priority
-T_SomeTests,Pass,,TestOfTest2.vbs,1000
-T_SampA,Pass,,T_SampA\TestOfTest2.vbs,1000
-T_SampB,Fail,Test_check,T_SampB\TestOfTest2.vbs,1000
-T_SampC,Skip,Test_setup,T_SampC\TestOfTest2.vbs,1000
-
-¨ T_SomeTests.vbs # T_TestReport
-
+
+ŽÀsƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚½ê‡A‚»‚ÌŽÀsƒtƒ@ƒCƒ‹‚©‚çì‚ç‚ꂽ‚·‚ׂĂÌ
+ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‹­§I—¹‚µ‚Ü‚·B
+
+ŽQl
+ +
ƒeƒXƒg
+
+¨ T_Process.vbs # [T_Processes]
- - - - + + + + - + -© -¥ -£ - - - -
-Sub  Tests::LoadTestResultCSV( LoadPath as string )
-
-ƒeƒXƒg‚ÌŒ‹‰Ê‚ð CSV Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B
-
-yˆø”z
-
-LoadPath
-
-o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.csv"
-
-ƒtƒ@ƒCƒ‹F
- -
-TestScript.vbs
-
-(src)
+© +¥ +£ + +
+‚»‚Ì‘¼
+ +
+Žw’肵‚½ƒVƒ“ƒ{ƒ‹‚̊֐”‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B
- - - - + + + +
- + -© -¥ -£ - - -
-ƒeƒXƒgƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚·ƒNƒ‰ƒX‚Å‚·B
-ƒOƒ[ƒoƒ‹•Ï” g_Test ‚́ATestScript ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¢‚Ü‚·B
- - - -
-ƒeƒXƒg‚ðŠJŽn‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðŠJŽn‚µ‚Ü‚·B
-
-ƒeƒXƒgŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·Bi“¯‚¶ƒvƒƒZƒXj
-
-ƒeƒXƒg‚ðI—¹‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðI—¹‚µ‚ďWŒv‚µ‚Ü‚·B
-
-¨ ƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃eƒXƒg
-
-(src)
- - - - - - -
- - - -© -¥ -£ - - - -
-Sub  TestScript::Start
-
-ƒeƒXƒg‚ðŠJŽn‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðŠJŽn‚µ‚Ü‚·B
-
-ƒJƒŒƒ“ƒgƒeƒXƒg‚̃XƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_‚ɁATestScript_log.txt
-‚ª‚Å‚«‚Ü‚·B
-
-(src)
+© +¥ +£ + + + + + + +
+¨ ƒeƒXƒgƒc[ƒ‹
+
+¨ ƒeƒXƒgƒc[ƒ‹‚̐ڑ±êŠ
+ + +
+ŠÖ˜A
+ +
+ƒvƒƒOƒ‰ƒ€‚ª‘å‚«‚­‚È‚é‚قǁAƒeƒXƒgi‰ñ‹AƒeƒXƒgj‚ÌŽ©“®‰»‚ªd—v‚É‚È‚è‚Ü‚·B
+
+vbslib ‚ÌŠJ”­‚ł́A‹@”\‚ð’ljÁ/C³‚·‚邲‚ƂɈȉº‚Ì‚à‚Ì‚ðXV‚µ‚Ä‚¢‚Ü‚·B
+
+ƒR[ƒh
+
+~
+
+~
+
+ƒeƒXƒgƒvƒƒOƒ‰ƒ€
+
+ƒhƒLƒ…ƒƒ“ƒg
+
+~
+
+‹@”\F
+
+¨ ƒ`ƒFƒbƒNƒŠƒXƒg
+
+ŽQl
+
+›
+ + + - - - - + + + +
- + -© -¥ -£ - - - -
-Sub  TestScript::Do_( vbs_path as string, func as string, param as variant )
-
-ƒeƒXƒgŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·Bi“¯‚¶ƒvƒƒZƒXj
-
-yˆø”z
-
-vbs_path
-
-func
-
-ƒeƒXƒgEƒXƒNƒŠƒvƒg‚ª‘‚©‚ꂽ VBScript ƒtƒ@ƒCƒ‹‚̃pƒX
-
-ŒÄ‚яo‚·ŠÖ”‚Ì–¼‘Oi•¶Žš—ñj
-
-param
-
-ŠÖ”‚É“n‚·ƒpƒ‰ƒ[ƒ^
-
-Do ‚ÌŒã‚ɁAƒAƒ“ƒ_[ƒ‰ƒCƒ“‚ª‚ ‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢Bi–³‚¢‚ƃGƒ‰[‚ɂȂ邽‚߁j
-
-(src)
+© +¥ +£ + + + +
+Test Prompt [ALL]
+   test vbs = Test.vbs
+   base folder = C:\home\vbslib
+1. Select the Test (current test = ALL)
+2. Do ALL Test
+3. | call each "Test_build" in sub folders
+4. | call each "Test_setup" in sub folders
+5. | call each "Test_start" in sub folders
+6. | call each "Test_check" in sub folders
+7. | call each "Test_clean" in sub folders
+8. Change the Debug Mode (debug script=False, target=False)
+88.Open Fail Folder
+89.Next Fail
+9. Quit
+
+Test.vbs ƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ꂽƒR[ƒ‹ƒoƒbƒNŠÖ”iTest_build, Test_setup, Test_start,
+Test_check, Test_cleanj‚ðŒÄ‚яo‚·ƒvƒƒ“ƒvƒg‚Å‚·B ƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é Test.vbs
+ƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ꂽƒR[ƒ‹ƒoƒbƒNŠÖ”‚àŒÄ‚яo‚µ‚Ü‚·B
+
+Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‹N“®‚µ‚Ü‚·B
+ + + + +
+ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃gƒbƒvƒƒjƒ…[
+ +
+ƒvƒƒ“ƒvƒg‚̐ݒè
+
+’P‘̂̃eƒXƒgEƒXƒNƒŠƒvƒg
+ + + +
+(src: TestPrompt)
+
+(src: Tests)
+ +
+ŠÖ˜A
+
+ƒeƒXƒg
+ + +
+Test.vbs
+ + + + + + - - - - + + + +
- + -© -¥ -£ - - - -
-Sub  TestScript::Finish
-
-ƒeƒXƒg‚ðI—¹‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðI—¹‚µ‚ďWŒv‚µ‚Ü‚·B
-
-TestScript ƒNƒ‰ƒX‚̃fƒXƒgƒ‰ƒNƒ^‚É‚æ‚Á‚ăeƒXƒg‚ªI—¹‚µ‚Ü‚·‚ªA
-–¾Ž¦“I‚É‚±‚Ì Finish ‚ðŒÄ‚яo‚µ‚ďI—¹‚³‚¹‚邱‚Æ‚à‚Å‚«‚Ü‚·B
-
-(src)
+© +¥ +£ + + +
+ƒeƒXƒgƒvƒƒ“ƒvƒg‚̃ƒjƒ…[‚©‚ç‘I‚ñ‚¾‚Æ‚«‚̃fƒtƒHƒ‹ƒg‚Ì“®ì‚ðà–¾‚µ‚Ü‚·B
+ + + +
+‚Ì Test_build, Test_setup, Test_start, Test_check, Test_clean ‚ðŒÄ‚яo‚µ‚Ü‚·B
+
+Test_current ‚́ATest_build ‚È‚Ç‚»‚ꂼ‚ê‚ðŒÄ‚яo‚·‘O‚ɌĂяo‚µ‚Ü‚·B
+ +
+4. call each "Test_setup" in sub folders
+ + +
+‚Ì Test_current ‚Æ Test_build ‚ðŒÄ‚яo‚µ‚Ü‚·B
+
+7. call each "Test_clean" in sub folders
+
+6. call each "Test_check" in sub folders
+
+5. call each "Test_start" in sub folders
+
+Test.vbs ‚Ì Test_current ‚Æ Test_setup ‚ðŒÄ‚яo‚µ‚Ü‚·B
+
+Test.vbs ‚Ì Test_current ‚Æ Test_start ‚ðŒÄ‚яo‚µ‚Ü‚·B
+
+Test.vbs ‚Ì Test_current ‚Æ Test_check ‚ðŒÄ‚яo‚µ‚Ü‚·B
+
+Test.vbs ‚Ì Test_current ‚Æ Test_clean ‚ðŒÄ‚яo‚µ‚Ü‚·B
+ +
+ŽÀs‚·‚éƒeƒXƒg€–Ú(
+ +
+A‚Ü‚½‚́ATest.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[)‚ð‘I‘ð‚µ‚Ü‚·B
+
+ALL ‚ð‘I‘ð‚·‚é‚ƁA‚·‚ׂẴeƒXƒg€–ځi‚·‚ׂẴTƒuEƒtƒHƒ‹ƒ_[j‚ðŽÀs‚µ‚Ü‚·B
+ +
+8. Change the Debug Mode
+ + +
+88. Open Fail Folder
+
+ƒGƒ‰[‚ª‚ ‚Á‚½ Test.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·
+
+uorderv ‚Æ“ü—Í‚·‚é‚ƁA
+ +
+‚ª•\Ž¦‚³‚ê‚Ü‚·B
+
+‚Æ
+ +
+ŽŸ‚ɃGƒ‰[‚ª‚ ‚Á‚½ Test.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·
+
+89. Next Fail
- - - - + + + +
- + -© -¥ -£ - - - -
-Dim  TestScript::ExpectedPassConut as integer
-
-—\‘z‚³‚ê‚é Pass ‚̐”B
- -
-==========================================================
-Test Finish (Pass=155, Manual=6, Skip=0, Fail=0)
-ExpectedPassConut = 155 [OK]
-
-ƒTƒ“ƒvƒ‹
-
-ˆê’v‚µ‚½Žž‚Ì•\Ž¦—á
-
-ˆê’v‚µ‚È‚©‚Á‚½‚çA[FAIL] ‚Æ•\Ž¦‚³‚ê‚Ü‚·B
-
-ExpectedPassConut ‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AExpectedPassConut ‚̍s‚ð•\Ž¦‚µ‚Ü‚¹‚ñB
-
-ƒ\[ƒX
-
-¨ TestScript.vbs
-
-ƒeƒXƒg
-
-¨ T_Prpt ƒtƒHƒ‹ƒ_[
-
+© +¥ +£ + + +
+¨ g_debug •Ï”
+ +
+1) Reload Test Script
+2) ChgDebugMode Test Script
+3) ChgDebugMode Test Target
+4) Echo On/Off (current=on)
+5) AutoDiff (current=on)
+
+ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃gƒbƒvƒƒjƒ…[‚ŁAChange the Debug Mode ‚ð‘I‚Ô‚ÆŽŸ‚̃ƒjƒ…[‚ªo‚Ü‚·B
+
+Reload Test Script ‚́ATestPrompt.vbs ‚âATestPrompt_Setting.vbs ‚ð•ÏX‚µ‚½‚Æ‚«‚É
+‘I‘ð‚µ‚Ü‚·B ‘I‘ð‚·‚é‚ƍēǂݍž‚Ý‚µ‚Ü‚·B
+Test.vbs ‚́Aƒgƒbƒvƒƒjƒ…[‚©‚ç Test.vbs ‚ðŒÄ‚яo‚·‚Æ‚«‚ɁA–ˆ‰ñÄ“ǂݍž‚Ý‚·‚é‚̂ŁA
+Test.vbs ‚ð•ÏX‚µ‚½‚Æ‚«‚́A‚±‚̃ƒjƒ…[iReload Test Scriptj‚ð‘I‚Ô•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ +
+If tests.bTargetDebug Then dbg = "//x " Else dbg = ""
+r = RunProg( "cscript "+dbg+target+" /Test:"+tname, "" )
+ +
+If tests.bTargetDebug Then
+  '// ƒfƒoƒbƒK‚ɐڑ±‚·‚éƒRƒ}ƒ“ƒh
+Else
+  '// ’ʏí‚̃Rƒ}ƒ“ƒh
+End If
+
+VBScript ‚̌Ăяo‚µ‚ðAƒfƒoƒbƒKÚ‘±‚ɑΉž‚µ‚½—áF
+
ŠÖ˜A
- -
-Test.vbs ‚ðŽg‚¤‚Æ‚«
-
-::ExpectedPassConut
- - - - - - - - - - -© -¥ -£ - - - -
-Class  UnitTest
-  Public  Symbol     ' as string
-  Public  ScriptPath ' as string
-  Public  Priority   ' as integer
-  Public  Delegate   ' as variant
-End Class
-
-(src)
- +
+ChgDebugMode Test Target ‚́AƒeƒXƒg‘ΏۂðƒfƒoƒbƒK‚ɐڑ±‚µ‚Ü‚·B
+ +
+ChgDebugMode Test Script ‚́ATestPrompt.vbs ‚Æ Test.vbs ‚ðƒfƒoƒbƒK‚ɐڑ±‚µ‚Ü‚·B
+ + + +
+Sub  Test_start( tests )
+Stop
+  If ... Then Fail
+  Pass
+End Sub
+
+Stop
+ +
+‚½‚¾‚µATest.vbs ‚̊֐”‚̈ø” tests ‚Ì bTargetDebug ƒƒ“ƒo•Ï”‚ª True ‚É
+•Ï‚í‚邾‚¯‚Ȃ̂ŁATest.vbs ‚Ì’†‚őΉž‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+
+Test.vbs ‚ðƒfƒoƒbƒO‚·‚é‚Æ‚«‚́AX‚É Test.vbs ‚Ì’†‚É Stop •¶‚ð“ü‚ê‚Ä‚­‚¾‚³‚¢B
+ +
+'--- start of parameters for starting main script
+g_debug = 1
+  :
+Sub main2( Opt, AppKey ):set_input "5."   ....
+
+Test.vbs ‚̐擪‚ʼnº‹L‚̂悤‚É‹Lq‚·‚é‚ƁA‚±‚̃ƒjƒ…[‚ð‘I‚΂Ȃ­‚Ä‚àAŽ©“®“I‚É‚±‚Ì
+ƒ‚[ƒh‚ÅŽÀs‚ðŠJŽn‚µA5”Ԃ̃ƒjƒ…[‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B
+ +
+'--- start of parameters for starting main script
+g_option = "/target_debug:1 /set_input:5."
+
+Test.vbs ‚̐擪‚ÅŽŸ‚̂悤‚É‹Lq‚·‚é‚ƁAŽ©“®“I‚É‚±‚̃‚[ƒh‚ÅŽÀs‚ðŠJŽn‚µA
+5”Ԃ̃ƒjƒ…[‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B
+ +
+c /set_input ƒIƒvƒVƒ‡ƒ“‚ªŽg‚í‚ê‚éŠÖ”
+ + + + +
+Echo On/Off
+ + +
+1
+
+5.
+ +
+ƒGƒ‰[‚ª”­¶‚·‚éêŠ‚ªˆÀ’肵‚È‚¢‚Æ‚«‚́AƒGƒ‰[EƒuƒŒ[ƒN‚ð—LŒø‚É‚µ‚Ä‚­‚¾‚³‚¢B
+ƒGƒ‰[‚ª”­¶‚µ‚Ä‚àƒeƒXƒg‚Ì‘±‚«‚ðŽÀs‚µ‚È‚­‚È‚è‚Ü‚·‚ªAƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚±‚ë‚Å
+ƒuƒŒ[ƒN‚µ‚Ü‚·B
+’ˆÓF Pass ŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚àƒuƒŒ[ƒN‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B
+ +
+ƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å‚à’ʏí‚Ì•û–@‚ŃGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚Å‚«‚Ü‚·B
+
+ŽQl
- - - - + + + +
- + -© -¥ -£ - - +© +¥ +£ + + + + + + + + + + + + + + +
+ƒeƒXƒgEƒXƒNƒŠƒvƒg‚́Ascriptlib ƒtƒHƒ‹ƒ_‚ðŠÜ‚Þƒ‹[ƒgƒtƒHƒ‹ƒ_‚̃TƒuƒtƒHƒ‹ƒ_‚È‚çA
+‚ǂ̃tƒHƒ‹ƒ_‚É‚Å‚à’u‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃tƒ@ƒCƒ‹–¼‚́ATest.vbs ‚É‚µ‚Ä‚­‚¾‚³‚¢B
+Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒeƒXƒgEƒvƒƒ“ƒvƒg‚ªŠJ‚«‚Ü‚·B
+ +
+TestPrompt.vbs
+
+Test
+
+T_UnitTest1
+
+c "T_UnitTest1" ‚̃†ƒjƒbƒgEƒeƒXƒg
+ +
+c ƒeƒXƒgEƒvƒƒ“ƒvƒgEƒ‚ƒWƒ…[ƒ‹
+
+c ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̐ݒè
+ +
+Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒTƒuƒtƒHƒ‹ƒ_‚Ì Test.vbs ‚àAƒeƒXƒgEƒvƒƒ“ƒvƒg‚É
+“o˜^‚³‚ê‚Ü‚·B ƒJƒŒƒ“ƒgEƒeƒXƒg‚ª ALL ‚È‚çAƒTƒuƒtƒHƒ‹ƒ_‚àŠÜ‚ß‚Ä Test_setup ‚È‚Ç‚ª
+ŒÄ‚΂ê‚Ü‚·B ƒfƒoƒbƒOEƒ‚[ƒh‚Ì‚Æ‚«‚́AƒfƒoƒbƒOEƒ‚[ƒh‚É‚È‚Á‚Ä‚¢‚é Test.vbs ‚ð
+ƒTƒuƒtƒHƒ‹ƒ_‚àŠÜ‚߂ČĂ΂ê‚Ü‚·B
+
+c ƒeƒXƒgƒVƒ“ƒ{ƒ‹–¼‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_
+ + +
+TestScript.vbs
+
+c ƒeƒXƒgEƒXƒNƒŠƒvƒgEƒ‚ƒWƒ…[ƒ‹
+ + +
+c ƒ†ƒjƒbƒgEƒeƒXƒg ‘S‘Ì
+ + + +
+c ‘Sƒ†ƒjƒbƒgEƒeƒXƒg‚É‹¤’ʂ̃XƒNƒŠƒvƒg
+
+c ‘Sƒ†ƒjƒbƒgEƒeƒXƒg‚É‹¤’ʂ̐ݒèƒf[ƒ^
+
+vbslib
- - - - + + + +
- + -© -¥ -£ - - - -
-Function  GetTemporaryTestsObject() as Tests
-
-ˆêŽž“I‚È Tests ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µATest_current ‚ðŒÄ‚яo‚µ‚Ü‚·B
-
-yˆø”z
-
-•Ô‚è’l
-
-ƒeƒXƒgEƒIƒuƒWƒFƒNƒg
-
-ƒtƒ@ƒCƒ‹F
- -
-TestScript.vbs
- -
-Sub  Main( Opt, AppKey )
-  Dim  g : Set g = GetTemporaryTestsObject().CurrentTest.Delegate
-  RunTestPrompt  AppKey.NewWritable( Array( ".", g("PublicFolder") ) )
-End Sub
+© +¥ +£ + + + + + + + + +
+Option Explicit
+
+Sub  Main( Opt, AppKey ):RunTestPrompt AppKey.NewWritable( "." ):End Sub

Sub  Test_current( tests )
-  If IsEmpty( tests.CurrentTest.Delegate ) Then
-    Dim g : Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g
+  tests.SetCur  "Sub1"
+End Sub

-    '[Setting]
-    '==============================================================================
-    g("PublicFolder")  = "..\Public\FromPackage"
-    '==============================================================================
-  End If
+Sub  Test_build( tests )
+  If tests.IsCur("Sub1") Then  echo tests.Symbol+" - Test_build Sub1"
+  If tests.IsCur("Sub2") Then  echo tests.Symbol+" - Test_build Sub2"
+  Pass
+End Sub
+
+Sub  Test_setup( tests )
+  Pass
+End Sub
+
+Sub  Test_start( tests )
+  RunProg  "target.exe", "Sample_log.txt"
+  Pass
+End Sub
+
+Sub  Test_check( tests )
+  Fail
+End Sub
+
+Sub  Test_clean( tests )
+  Skip "test skip"
End Sub
-
-Žå‚ɁATest_current ‚Ŏ擾‚Å‚«‚éƒf[ƒ^‚ðARunTestPrompt ‚ðŒÄ‚яo‚·‘O‚ÉŽQÆ‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B
-
-ƒeƒXƒg
-
-¨ T_TempTests ƒtƒHƒ‹ƒ_
- -
-GetTemporaryTestsObject().CurrentTest ‚́A“¯‚¶ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é Test_current ŠÖ”‚Ȃǂ̈ø”
-‚É“n‚éƒIƒuƒWƒFƒNƒg‚ðŽw‚µ‚Ä‚¢‚Ü‚·B
-
+
+¨ Test.vbs
+
+ˆø”‚́A
+
+Test.vbs
+ + + +
+ƒeƒXƒg‘Ώۂðƒrƒ‹ƒh‚µ‚Ü‚·B
+ +
+ƒeƒXƒgƒf[ƒ^‚ðì¬‚µ‚Ü‚·B
+ +
+ƒeƒXƒg‚ðŽÀs‚µ‚Ü‚·B •¡”‚̍€–Ú‚ðŽÀs‚·‚é‚Æ‚«‚̓`ƒFƒbƒN‚à‚µ‚Ü‚·B
+ +
+Test_start ‚ª‚·‚ׂĊ®—¹ŒãAƒeƒXƒg‚̏o—Í‚ª³‚µ‚¢‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B
+ƒGƒ‰[ˆ—‚̃eƒXƒg‚́ATest_start ‚ōs‚¢‚Ü‚·B
+ +
+ƒeƒXƒg‚ŏo—Í‚³‚ꂽƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B
+
ƒTƒ“ƒvƒ‹
- - - - - - - - - - -© -¥ -£ - - - -
-Sub  CheckTestErrLevel( errorlevel as integer )
-
-VBS ƒvƒƒOƒ‰ƒ€‚̏I—¹ƒR[ƒhiƒGƒ‰[ƒŒƒxƒ‹j‚É–â‘肪‚ ‚Á‚½‚çƒGƒ‰[‚𔭐¶‚³‚¹‚éB
-
-yˆø”z
-
-errorlevel
- -
-ƒGƒ‰[ƒŒƒxƒ‹iWScript.Quit ‚̈ø”j
-
-“à•”‚ŁAPass, Fail, Skip ‚Ì‚¢‚¸‚ê‚©‚ðŒÄ‚яo‚µ‚Ü‚·B
-VBS ƒvƒƒOƒ‰ƒ€‚́Awscript ‚Å‚Í‚È‚­ cscript ‚ŌĂяo‚³‚È‚¢‚ƁA³‚µ‚¢ƒGƒ‰[ƒŒƒxƒ‹
-‚ðŽæ“¾‚Å‚«‚Ü‚¹‚ñB
- -
-  r = g_sh.Run( "cscript sample.vbs",, True )
-  CheckTestErrLevel  r
-
-(src)
- -
+ +
+ã‹L‚̊֐”‚́A
+
+‚©‚çŒÄ‚΂ê‚Ü‚·B Fail ‚µ‚½‚Æ‚«‚Ì“®‚«‚́A
+
+Do_ ‚ÌŽd—l‚ɏ]‚¢‚Ü‚·B
+ +
+T_RunFCVbs
+
+T_RunPrompt
+
+T_RunVBS
+ +
+‚ðŒo—R‚·‚éƒeƒXƒg‚̃Tƒ“ƒvƒ‹
+
+VBS ‚ðƒeƒXƒg‚·‚éƒTƒ“ƒvƒ‹
+
+’P‘̃eƒXƒg‚ðŽÀs‚·‚éƒXƒNƒŠƒvƒg‚Å‚·B
+
+”Ä—p‚̃Tƒ“ƒvƒ‹
+
+‚Å‚·Biã‹L‚̊֐”‚Í‚Ç‚ê‚àˆø”‚Í“¯‚¶j
+ +
+Test.vbs ‚Ì Test_current ‚ɂ́AƒfƒoƒbƒO‚ðs‚¤‚P‚‚̃TƒuƒeƒXƒgƒP[ƒX‚ð
+tests.SetCur ‚ÅŽw’肵‚Ü‚·B
+
+T_Run
+
+ƒeƒXƒgƒvƒƒ“ƒvƒg‚ðƒeƒXƒg‚·‚éƒTƒ“ƒvƒ‹
+
+vbslib_pack\sample\TestPrompt
+
+isrcj
+ +
+Sub  Test_start( tests as Tests )
+
+Main
+
+‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B
+ + + +
+‚Ì“à—e‚ð‹Lq‚·‚邱‚Ƃō쐬‚µ‚Ü‚·B
+
+ƒeƒXƒgEƒvƒƒ“ƒvƒg‚©‚çAƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é‘å—Ê‚Ì Test.vbs ‚ðŽ©“®“I‚ÉŽÀs‚·‚邱‚Æ‚ª
+‚Å‚«‚Ü‚·B ƒtƒ@ƒCƒ‹–¼‚ð TestSample.vbs ‚É•Ï‚¦‚½‚çAƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é TestSample.vbs
+‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B
+
+Test_build ‚È‚Ç‚ðƒR[ƒ‹ƒoƒbƒN‚·‚é‘O‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”B
+
+¨ T_TestScName ƒtƒHƒ‹ƒ_
+
+ƒeƒXƒg
+
+Test.vbs ‚©‚ç‰ü–¼‚·‚éƒeƒXƒg
+ +
ŠÖ˜A
-
-ƒTƒ“ƒvƒ‹
- -
-‚©‚ç VBScript ‚̃XƒNƒŠƒvƒg‚ðŒÄ‚яo‚µ‚āAŽqƒvƒƒZƒX‚ŃGƒ‰[‚ª”­¶‚·‚é‚ƁA
-
-eƒvƒƒZƒX‚Ì RunProg ‚Ì’†‚©‚çƒGƒ‰[‚ª”­¶‚µ‚Ä‚µ‚Ü‚¤‚½‚߁AI—¹ƒR[ƒh‚ðŽæ“¾‚Å‚«‚Ü‚¹‚ñB
- -
-‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
- -
-ŽQl
- - - - - - - - - - -© -¥ -£ - - - -
-Dim  g_IsAutoTest as boolean
-
-Ž©“®ƒeƒXƒg‚ðŽÀs’†‚©‚Ç‚¤‚©B
-
-g_IsAutoTest = True ‚É‚·‚é‚ƁA
- -
-‚µ‚È‚­‚Ȃ邱‚Æ‚ª‚ ‚è‚Ü‚·B
+ +
+ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁA
+ +
+‚ªŠJ‚«‚Ü‚·B
+
+::ExpectedPassConut‚É—\‘z‚³‚ê‚é Pass ‚̐”‚ðÝ’肵‚Ä‚¨‚­‚Æ
+ +
+‚æ‚¢‚Å‚µ‚傤B
+
+¨ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ (vbslib•t‘®)
- - - - + + + +
- + -© -¥ -£ - - -
-ƒeƒXƒg‘ΏۂƂȂéƒXƒNƒŠƒvƒg‚ªŽg‚¤‚à‚Ì
+© +¥ +£ + + +
+EƒfƒoƒbƒO‚·‚éƒTƒuƒeƒXƒgƒP[ƒX‚ð‘I‘ð‚µ‚Ü‚·B
+ +
+Sub  Test_current( tests )
+  tests.SetCur  "Sub1"
+End Sub
+ +
+Sub  Test_current( tests as Tests )
+
+Test_build ‚È‚Ç‚ðƒR[ƒ‹ƒoƒbƒN‚·‚é‘O‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”B
+
+‰º‹L‚̂悤‚È‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ +
+ETests.vbs ‚̃Oƒ[ƒoƒ‹•Ï”i‚Ì‘ã‚í‚èj‚ð‰Šú‰»‚µ‚Ü‚·B
+
+E‘¼‚Ì Tests.vbs ‚ƁAƒR[ƒ‹ƒoƒbƒN‚³‚ê‚鏇”Ԃ𒲐®‚µ‚Ü‚·B
+ +
+Sub  Test_current( tests )
+  tests.CurrentTestPriority = 500
+End Sub
+
+EƒeƒXƒgEƒVƒ“ƒ{ƒ‹‚ðÝ’肵‚Ü‚·B
+ +
+Sub  Test_current( tests )
+  tests.Symbol = "T_SubTest"
+End Sub
+ +
+Symbol
+ + +
+ã‹L‚̂悤‚É Symbol •Ï”‚Ì’l‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B
+
+‚ªo‚é‚Æ‚«‚́A
+ +
+Set g = tests.CurrentTest.Delegate
+g("ExeName") = "Sample"
+ +
+ŠÖ˜A
- - - - + + + +
- + -© -¥ -£ - - -
-Sub  T_Test1( Opt, AppKey )
-  Dim  x
-
-  Dim cases : Set cases = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" )
-  For Each x  In cases.Items
-    T_Test1_main  Opt, AppKey, x  '// Test.vbs ‚Ì’†‚ł́Aƒpƒ‰ƒ[ƒ^[‚Í ( tests, x )
-  Next
-  Pass
+© +¥ +£ + + +
+ƒ†[ƒUŒü‚¯‚́A”CˆÓ‚Ì’l‚âƒIƒuƒWƒFƒNƒg‚ðŠi”[‚·‚é•Ï”B
+ +
+Dim  UnitTest::Delegate as variant
+ +
+Sub  Main( Opt, AppKey )
+    '//  Set g = GetTemporaryTestsObject().CurrentTest.Delegate
+    RunTestPrompt  AppKey.NewWritable( "." )
End Sub

-'// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚­‚čςނ悤‚ɁAƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é
-Sub  T_Test1_main( Opt, AppKey, x )
-  Dim w_:Set w_=AppKey.NewWritable( "out" ).Enable()
-  EchoTestStart  "T_Test1"
-  echo  x  '// ‘S‚Ẵf[ƒ^‚ð•\Ž¦‚·‚é
-
-  FuncA  CInt( x("InputData") )
-  FuncB  Replace( x("Answer"), "%Num%", CStr( 12 ) )
-End Sub
- - -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases name="common" ExeName="Sample">
-<!-- base_data="...\TestCommon_Data.xml#root" -->
+Sub  Test_current( tests )
+    If IsEmpty( tests.CurrentTest.Delegate ) Then
+        Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g
+        '// call_vbs  SearchParent("TestCommon.vbs"), "TestCommon_setVariables",  g

-<TestCase id="TestCase_for_T_Test1" base_data="#common">
-<SubCase  name="Number"
-  InputData = "123"
-  Answer    = "ans%Num%.txt"  _comment2= "FilePath with variable"
-/>
-<SubCase  name="Alphabet"
-  InputData = "ABC"
-  Answer    = "ans2.txt"
-/>
-</TestCase>
+        '[Setting]
+        '==============================================================================
+        g("ExeName") = "Sample"
+        '==============================================================================

-<TestCase id="TestCase_for_T_Test1_sub"> <!-- This is cross parameter -->
-<SubCase  name="CurrentFolder"
-  CurrentFolder = "."
-  StepPath      = "Data\"
-/>
-<SubCase  name="SubFolder"
-  CurrentFolder = "Data"
-  StepPath      = ""
-/>
-</TestCase>
+        x = WScript.Arguments.Named( "Config" ) : If not IsEmpty( x ) Then  g("Config") = x
+    End If
+End Sub

-</TestCases>
-
-ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml
- -
-Function  ReadTestCase( XmlPath as string, TestCaseID as string )
-                                            as ArrayClass of Dictionary
-
-ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃f[ƒ^‚ɃAƒNƒZƒX‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B
-
-yˆø”z
-
-XmlPath
-
-TestCaseID
-
-ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃pƒX
-
-XML ƒtƒ@ƒCƒ‹‚Ì’†‚Ì <TestCase> ƒ^ƒO‚Ì id ‘®«‚Ì’lA‚Ü‚½‚Í Empty
- -
-TestScript.vbs
-
-•Ô‚è’l
-
-ƒeƒXƒgƒP[ƒX‚̃f[ƒ^‚ÌŽ«‘A‚Ü‚½‚́A‚»‚Ì”z—ñ
-
-ƒtƒ@ƒCƒ‹F
-
+Sub  Test_build( tests )
+    Set g = tests.CurrentTest.Delegate
+    devenv_rebuild  g("ExeName")+".sln", g("Config")
+End Sub
+
+ƒTƒ“ƒvƒ‹ in Test.vbsF
+
+Delegate
+
+Delegate
+
+ExeName
+
+Sample
+
+ExeName
+
+Tests.vbs ‚̃Oƒ[ƒoƒ‹•Ï”‚Ì‘ã‚í‚è‚Å‚·B
+iTests.vbs ‚́AExecuteGlobal ‚ð‰½“x‚às‚í‚ê‚邽‚߁AƒOƒ[ƒoƒ‹•Ï”‚ð’u‚­‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñBj
+
ƒeƒXƒg
-
-(src)
-
-¨ T_TestCaseData.vbs # T_TestCaseData
-
-ƒeƒXƒgƒP[ƒX‚̃f[ƒ^‚Ì‘½‚­‚͍\‘¢‘Ì‚Ì”z—ñ‚Å‚ ‚邽‚߁AXML ƒtƒ@ƒCƒ‹‚̏‘Ž®‚́A‚»‚ê‚ð‘z’è
-‚µ‚āA‚ ‚é’ö“xŒˆ‚ß‚Ä‚¢‚Ü‚·B  ‚±‚Ì•W€‰»‚É‚æ‚èAXML ƒtƒ@ƒCƒ‹‚ðŒ©‚½‚Æ‚«‚ɃeƒXƒgƒP[ƒX‚ª
-”cˆ¬‚µ‚â‚·‚­‚È‚è‚Ü‚·‚µAƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃R[ƒh‚à DOM ‚æ‚èŠÈ’P‚É‚È‚è‚Ü‚·B ‘Ž®‚̏ڍׂ́A
-‰º‹L‚Ì DTD ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
-‚à‚µA•¡ŽG‚ȃf[ƒ^‚ð‹Lq‚µ‚½‚¢‚Æ‚«‚́Aˆê”Ê“I‚È XML ƒtƒ@ƒCƒ‹‚ðƒAƒNƒZƒX‚·‚é DOM ‚ðŽg‚Á‚Ä
-‚­‚¾‚³‚¢B ŽQl
-
-ƒTƒ“ƒvƒ‹EƒR[ƒhF
-
-T_Test1_Data.xml
-
-TestCase_for_T_Test1
-
-Answer
-
-InputData
-
-TestCasesATestCaseASubCase ‚̃^ƒO–¼‚ð•Ï‚¦‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
-
-XML ƒ^ƒO‚Ì’†i—áFSubCase ƒ^ƒO‚Ì’†j ‚É <!-- --> Œ`Ž®‚̃Rƒƒ“ƒg‚Í“ü‚ꂽ‚¢‚Æ‚«‚́A
-XML‚ÌŽd—lã‚Å‚«‚È‚¢‚̂ŁAƒ_ƒ~[‚Æ‚È‚é  _comment1 ‚È‚Ç‚Ì‘®«‚ðŽg‚Á‚āAƒRƒƒ“ƒg‚ð
-‹Lq‚µ‚Ü‚·B
-
-•Ô‚è’l‚́AŽ«‘Œ^‚ð—v‘f‚ÉŽ‚”z—ñiArrayClassj‚Å‚·B Ž«‘‚̃L[‚́AXML ‘®«‚Ì–¼‘O‚Å‚·B
-ƒf[ƒ^‚Ì‹ï‘Ì“I‚È’l‚́A‰º‹L‚̃Tƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
-E“¾‚ç‚ê‚éƒf[ƒ^‚Í‚·‚ׂĕ¶Žš—ñŒ^‚Å‚·B
-E”’l‚ðŽg‚¤‚Æ‚«‚́ACInt ŠÖ”‚È‚Ç‚ðŽg‚¢‚Ü‚·B
-EŽ«‘‚̃L[‚ÉŽw’肵‚½–¼‘O‚ɑΉž‚·‚é XML ‘®«‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚·B
-E•¡”‚̃f[ƒ^‚ðƒRƒ“ƒ}‚Å‹æØ‚Á‚Ä‹Lq‚µ‚½‚Æ‚«‚́A
-E“®“I‚ɕω»‚·‚éƒf[ƒ^‚ð XML ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚é‚Æ‚«‚́A%Num% ‚̂悤‚ɕϐ”‚ð‹Lq‚µ‚Ü‚·B
-@‚½‚¾‚µAƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å Replace ŠÖ”‚â
-E#name iHTML ‚Ì href ‘®«j‚̃Šƒ“ƒNæ‚𓾂é‚ɂ́A
- -
-‚È‚Ç‚ðŽg‚¢‚Ü‚·B
-
-ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̏‘Ž®
-
-InputData
-
-Answer
-
-TestCase_for_T_Test1
-
-TestCase_for_T_Test1_sub
-
+
+¨ Test_template1.vbs # Delegate
+
+ŠÖ˜A
+ -
-ŠÖ˜A
- -
-Function  ReadTestCase( XmlPath as string, Empty ) as Dictionary
- - - - -
-¨ TestNums (clib)
- -
-TestCases
-
-TestCase
-
-SubCase
-
-SubCase
-
-SubCase
-
-TestCase
-
-TestCase
-
-SubCase
-
-TestCase
-
-TestCases
- - -
-ƒfƒoƒbƒO—p‚ɁAƒeƒXƒgƒP[ƒX‚ðŽw’肵‚Ü‚·
-
-ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹“à‚̃f[ƒ^
-
-CŒ¾Œê‚̃eƒXƒg”ԍ†
-
-T_Test1
-
-T_Test1
-
-T_Test1
- - - - - - - -
-‚È‚Ç‚ðŽg‚Á‚Ä’l‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B
- - -
-‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
-
-‘®«’l‚̈µ‚¢•û
- -
-Ž«‘‚ðŽg‚Á‚½ƒeƒXƒgƒf[ƒ^
-
-ReadTestCase
- - - - - - - - - - -© -¥ -£ - - - -
-•¡”‚̃eƒXƒgƒP[ƒX‚Å‹¤’ʂ̃f[ƒ^‚́A
- -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases ExeName="Sample" name="common">
-<!-- base_data="...\TestCommon_Data.xml#root" -->
+ +
+'********************************************************************************
+'  <<< [TestCommon_setVariables] >>>
+'********************************************************************************
+Dim  g_TestCommon_ConfigInited

-<TestCase id="TestCase_for_T_Test1" CommonData1="1" base_data="#common">
-<SubCase  name="Number"
-  InputData = "123"
-  Answer    = "ans%Num%.txt"  _comment2= "FilePath with variable"
-/>
-<SubCase  name="Alphabet"
-  InputData = "ABC"
-  Answer    = "ans2.txt"
-/>
-</TestCase>
+Sub  TestCommon_setVariables( in_out_SharedConfig )
+    AssertExist  env("%SAMPLEROOT%")  '// ŠÂ‹«•Ï”‚ðƒ`ƒFƒbƒN‚·‚é

-</TestCases>
-
-ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml
-
-#common
-
-common
-
-‚ðŽw’è‚·‚é‚©A
-
-TestCase ƒ^ƒO‚Ì‘®«‚É‹Lq‚Å‚«‚Ü‚·B
- -
-<?xml version="1.0" encoding="Shift_JIS"?>
+    If IsEmpty( g_TestCommon_ConfigInited ) Then  '// ƒvƒƒZƒX‚²‚Ƃ̐ݒè
+        Set test_common_data = ReadTestCase( SearchParent(_
+            "TestCommon_Data.xml" ), Empty ) '// test_common_data as <TestCases>

-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="Number"
-  InputData = "123"
-  Answer    = "ans%Num%.txt"  _comment2= "FilePath with variable"
-  CommonData1 = "1"  ExeName = "Sample.exe"
-/>
-<SubCase  name="Alphabet"
-  InputData = "ABC"
-  Answer    = "ans2.txt"
-  CommonData1 = "1"  ExeName = "Sample.exe"
-/>
-</TestCase>
+        If IsEmpty( in_out_SharedConfig ) Then _
+            Set in_out_SharedConfig = CreateObject( "Scripting.Dictionary" )
+        Dic_add  in_out_SharedConfig,  test_common_data

-</TestCases>
-
-ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒeƒXƒgEƒf[ƒ^‚É‚È‚è‚Ü‚·B
-
-CommonData1
- -
-CommonData1
-
-CommonData1
-
-ExeName
-
+        g_TestCommon_ConfigInited = True
+    End If
+End Sub
+ +
+ƒTƒ“ƒvƒ‹ in TestTarget.vbsF
+ +
+Dim g_g : Sub GetMainSetting( g ) : If not IsEmpty(g_g) Then Set g=g_g : Exit Sub
+    Set g=CreateObject("Scripting.Dictionary") : Set g_g=g
+    call_vbs  SearchParent("TestCommon.vbs"), "TestCommon_setVariables",  g
+
+    '[Setting]
+    '==============================================================================
+    g("ExeName") = "Sample"
+    '==============================================================================
+End Sub
+
+
+Sub  Main()
+    GetMainSetting  g
+    devenv_rebuild  g("ExeName")+".sln", g("Config")
+End Sub
+ + +
+RunTestPrompt ‚ðŽÀs‚·‚éê‡‚́ADelegate ‚ðŽg‚¤
+
+RunTestPrompt ‚ðŽÀs‚µ‚È‚¢ê‡‚́ADelegate ‚ðŽg‚í‚È‚¢
+
+Sample
+
ExeName
-
+
ExeName
- - - - -
-  Dim test_common_data : Set test_common_data = ReadTestCase( SearchParent(_
-    "TestCommon_Data.xml" ), Empty ) '// test_common_data as <TestCases>
-
-  start  test_common_data( "ExeName" )
-
-<TestCases> ƒ^ƒO‚Ì“à—e‚ðƒŠ[ƒh‚·‚é‚Æ‚«‚́A‰º‹L‚̂悤‚É‚µ‚Ü‚·B
+ + + +
+ƒR[ƒ‹ƒcƒŠ[ (Test.vbs)
+
+Test_current
+
+TestCommon_setVariables
+
+Tests::DoAllTest
+
+RunTestPrompt
+
+main
+
+GetMainSetting
+
+TestCommon_setVariables
+
+ƒR[ƒ‹ƒcƒŠ[ (ˆê”ʃXƒNƒŠƒvƒg)
+ +
+// ƒeƒXƒg‚²‚ƂɈقȂé UnitTest::Delegate
+
+// ‘SƒeƒXƒg‚É‹¤’Ê‚Ì UnitTest::Delegate ‚È‚Ç
+
+// ‘SƒXƒNƒŠƒvƒg‹¤’Ê‚Ì UnitTest::Delegate ‚È‚Ç
+
+// ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚²‚ƂɈقȂé UnitTest::Delegate
+ + + + +
+ŽQl
+ - - - - + + + + - + -© -¥ -£ - - - -
-Sub  T_Test1( Opt, AppKey )
-  Dim  x
+© +¥ +£ + + +
+Test.vbs
+
+TestCommon.vbs
+ +
+Sub main2( Opt, AppKey )
+  RunTestPrompt  AppKey.NewWritable( "." )
+End Sub

-  Dim xx : Set xx = ReadTestCase( "T_Test1_Data.xml", Empty ) '// xx as <TestCases>
+Sub  Test_current( tests )
+  If IsEmpty( tests.CurrentTest.Delegate ) Then
+    Dim g : Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g
+    call_vbs  SearchParent("TestCommon.vbs"), "TestCommon_setVariables",  g
+  End If
+End Sub

-  Dim cases : Set cases = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" )
-  For Each x  In cases.Items
-    Dic_add  x, xx
-    T_Test1_main  Opt, AppKey, x
-  Next
-  Pass
+Sub  Test_start( tests ) : TestCommon_test_start  tests : Pass : End Sub
+
+ƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é Test.vbs ‚É‹¤’Ê‚·‚éƒXƒNƒŠƒvƒg‚ð‹Lq‚µ‚Ü‚·B
+ƒ‰ƒCƒuƒ‰ƒŠ‚É‚·‚é‚قǔėp“I‚Å‚Í‚È‚¢‚ªA•¡”‚̃eƒXƒg‚ÅŽg‚í‚ê‚éŠÖ”‚È‚Ç‚ð‹Lq‚µ‚Ü‚·B
+ +
+Sub  TestCommon_setVariables( g )
+  Set g("GlobalTestObject") = new SampleTest
End Sub

-'// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚¢‚½‚߁AƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é
-Sub  T_Test1_main( Opt, AppKey, x )
-  echo  x
-  FuncA  CInt( x("InputData") )
-  FuncB  x("CommonData1")
+Sub  TestCommon_test_start( tests )
+  '// •¡”‚̃eƒXƒg‚ōs‚¤ˆ—
End Sub
-
-T_Test1_Data.xml
- -
-<?xml version="1.0" encoding="UTF-8"?>
-<TestCases
-  CommonData1 = "Sample.exe"
->
-
-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="Number"
-  InputData = "123"
-  Answer    = "ans%Num%.txt"  _comment2= "FilePath with variable"
-/>
-<SubCase  name="Alphabet"
-  InputData = "ABC"
-  Answer    = "ans2.txt"
-/>
-</TestCase>
-
-</TestCases>
-
-CommonData1
-
-TestCases
-
-CommonData1
-
-•¡”‚̃eƒXƒgƒP[ƒX‚Å‹¤’ʂ̃f[ƒ^‚ðAXML ƒtƒ@ƒCƒ‹‚Ì TestCases ƒ^ƒO‚Ì‘®«‚©‚烊[ƒh‚·‚é‚Æ‚«‚́A
-ReadTestCase ‚Ì‘æ2ˆø”‚ð Empty ‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B
-
-ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml
- -
-Empty
-
-T_Test1
-
-T_Test1
-
-T_Test1
- -
-•¡”‚̃eƒXƒgEƒvƒƒOƒ‰ƒ€‚Å‹¤’ʂ̃f[ƒ^‚́AeƒtƒHƒ‹ƒ_[‚É‚ ‚鋤’Ê‚Ì XML ƒtƒ@ƒCƒ‹‚©‚烊[ƒh‚µ‚Ä
-‚­‚¾‚³‚¢B
- -
-Set xx = ReadTestCase( SearchParent("TestCommon_Data.xml"), Empty ) '// xx as <TestCases>
- + + + + + +
+ŠÖ˜A
+ - - - - + + + + - + -© -¥ -£ - - -
-ReadTestCase ‚ªƒŠ[ƒh‚·‚é XML ƒtƒ@ƒCƒ‹‚́Aƒf[ƒ^‚Ì‹Lq‚ªç’·‚É‚È‚ç‚È‚¢‚悤‚ɁAƒf[ƒ^‚ÌŒp³‚âW–ñ
-‚ª‚Å‚«‚é“ÁŽê‚È XML ‚ªŽg‚¦‚Ü‚·B
- - - -
-XML ‘®«‚ðŒp³‚µ‚Ü‚·
-
-Œp³‚µ‚½ XML ‘®«‚Í CSV Œ`Ž®‚ŒljÁ‚µ‚Ü‚·
-
-Žq‚Ì XML —v‘f‚ðW–ñ‚µ‚Ü‚·
- -
-<!ELEMENT TestCases (TestCase*)>
-<!ELEMENT TestCase (SubCase*)>
-
-<!ATTLIST TestCases
-    *          CDATA    #IMPLIED
-    name       ID       #IMPLIED
-    base_data  IDREFS   #IMPLIED
-    plus_attr  NMTOKENS #IMPLIED
->
-<!ATTLIST TestCase
-    *          CDATA    #IMPLIED
-    id         ID       #REQUIRED
-    base_data  IDREFS   #IMPLIED
-    plus_attr  NMTOKENS #IMPLIED
-    aggregate  IDREFS   #IMPLIED
->
-<!ATTLIST SubCase
-    *          CDATA    #IMPLIED
-    name       ID       #IMPLIED
-    base_data  IDREFS   #IMPLIED
-    plus_attr  NMTOKENS #IMPLIED
->
-
-ƒeƒXƒgƒf[ƒ^‚ð‹Lq‚·‚é XML ƒtƒ@ƒCƒ‹‚Ì DTD
- +© +¥ +£ + + + +
+‚Å’è‹`‚·‚é TestCommon_setVariables ŠÖ”‚ŁAƒOƒ[ƒoƒ‹EƒeƒXƒgE
+
+ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µA
+ +
+‚©‚çŽQÆ‚µ‚Ü‚·B
+ +
+Sub  Test_build( tests )
+  Dim  g : Set g = tests.CurrentTest.Delegate
+  RunProg  """"+ g("GlobalTestObject").ExePath +"""", ""
+End Sub
+ +
+Sub  TestCommon_setVariables( g )
+  Set g("GlobalTestObject") = new SampleTest
+End Sub
- - - - + + + +
- + -© -¥ -£ - - -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases>
-
-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="Number"   InputData = "123"  base_data="#T_Test1_Common"/>
-<SubCase  name="Alphabet" InputData = "ABC"  base_data="#T_Test1_Common"/>
-<SubCase  name="AlphaNum" InputData = "1AB"  Answer="ans2.txt"/>
-</TestCase>
-
-<TestCase id="TestCase_for_T_Test1_Common">
-<SubCase  name="T_Test1_Common"  Answer="ans1.txt"/>
-</TestCase>
-
-</TestCases>
-
-ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml
-
-ƒf[ƒ^‚Ì‘½‚­‚Í‹¤’ʂŁAˆê•”‚̃f[ƒ^‚¾‚¯•Ï‚¦‚é‚Æ‚«‚́Abase_data ‘®«‚ðŽg‚Á‚Ä‘®«‚ðŒp³‚·‚邱‚Æ‚ª
-‚Å‚«‚Ü‚·B base_data ‘®«‚́AA ƒ^ƒO‚Ì href ‘®«‚Æ“¯‚¶‹LqŒ`Ž®‚Å‚·B •Ê‚̃tƒ@ƒCƒ‹‚©‚çŒp³‚·‚é
-‚±‚Æ‚à‚Å‚«‚Ü‚·B
- -
-T_Test1_Common
-
-T_Test1_Common
-
-T_Test1_Common
- -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases>
-
-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="Number"   InputData = "123"  Answer="ans1.txt"/>
-<SubCase  name="Alphabet" InputData = "ABC"  Answer="ans1.txt"/>
-<SubCase  name="AlphaNum" InputData = "1AB"  Answer="ans2.txt"/>
-</TestCase>
-
-</TestCases>
-
-ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒf[ƒ^‚É‚È‚è‚Ü‚·B
-
-Answer="ans1.txt"
-
-Answer="ans1.txt"
-
-ƒtƒ@ƒCƒ‹ƒpƒX‚ɁAƒsƒŠƒIƒh‚ð‚R‚•À‚ׂé‚ƁAeƒtƒHƒ‹ƒ_[Ae‚̐eƒtƒHƒ‹ƒ_[ c ‚Æ’T‚µ‚Ä‚¢‚«‚Ü‚·B
+© +¥ +£ + + + +
+<TestCases TestSymbols="T_Sample1, T_Sample2"/>
+ +
+‚ð‘I‚ñ‚¾‚Æ‚«‚ÉŽÀŽ{‚·‚éƒeƒXƒg‚ð‘I‘ð‚µ‚Ü‚·B
+ +
+Test.vbs ‚Ì
+
+‚±‚Ì‘®«‚ª–³‚¢‚Æ‚«‚́AƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é‘S‚ẴeƒXƒg‚ðŽÀŽ{‚µ‚Ü‚·B
+
+ŽÀŽ{‚·‚éƒeƒXƒg‚̃Vƒ“ƒ{ƒ‹‚ð CSV Œ`Ž®‚ÅŽw’肵‚Ä‚­‚¾‚³‚¢B
+Test.vbs ‚Ì
+ƒVƒ“ƒ{ƒ‹‚ª‘½‚¢‚Æ‚«‚́A‰üs‚ð“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ +
+<TestCases TestSymbols="T_Sample1, T_Sample2,
+   T_Sample3"/>
+ +
+‚ð‘I‚ԂƁAƒVƒ“ƒ{ƒ‹‚ðˆê——‚Å‚«‚Ü‚·B
+
+ƒeƒXƒg‚ÉŠÖ‚·‚éî•ñ‚ð‚Ü‚Æ‚ß‚½ƒf[ƒ^Eƒtƒ@ƒCƒ‹‚Å‚·B
+ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é Test.vbs ‚Æ“¯‚¶ƒtƒHƒ‹ƒ_[‚É TestCommon_Data.xml ‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B
+
ŽQl
- - -
-ƒeƒXƒg
-
-¨ T_TestCaseData.vbs # [T_BaseTestCaseData]
-
-¨ T_TestCaseData.xml # T_BaseTestCaseData_1 ‚È‚Ç
- - - - - - - - - - - - -© -¥ -£ - - -
-CSV Œ`Ž®‚̃f[ƒ^‚ðA•Ê‚̃^ƒO‚©‚ç’ljÁ‚·‚é‚Æ‚«‚́Aplus_attr ‘®«‚ðŽg‚¢‚Ü‚·B
-plus_attr ‘®«‚Ì’l‚́A‘®«‚Ì’l‚ð CSV Œ`Ž®‚Å•À‚ׂ܂·B
- -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases>
-
-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="a" InputDataA="123" InputDataB="123"
-          base_data="#T_Test1_Common" plus_attr="InputDataA"/>
-</TestCase>
-
-<TestCase id="TestCase_for_T_Test1_Common">
-<SubCase  name="T_Test1_Common" InputDataB="ABC" InputDataB="ABC"/>
-</TestCase>
-
-</TestCases>
-
-ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml
-
-InputDataA
- -
-<?xml version="1.0" encoding="Shift_JIS"?>
-<TestCases>
-
-<TestCase id="TestCase_for_T_Test1">
-<SubCase  name="a" InputDataA="123, ABC" InputDataB="123"/>
-</TestCase>
-
-</TestCases>
-
-ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒf[ƒ^‚É‚È‚è‚Ü‚·B
- -
-InputDataA
-
-ƒeƒXƒg
-
-¨ T_TestCaseData.vbs # [T_BaseTestCaseData]
-
-¨ T_TestCaseData2.xml # T_BaseTestCaseData_22 ‚È‚Ç
-
-InputDataA
+ + +
+ŽQl
+
+‚»‚Ì‘¼AƒIƒŠƒWƒiƒ‹‘®«
+
+ƒeƒXƒgŒÅ—L‚̃IƒŠƒWƒiƒ‹‘®«‚ðATestCommon_Data.xml ‚Ɋ܂߂邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ + +
+<TestCases TestSymbols="T_Sample1, T_Sample2"
+ TestScriptFileName="Test_target.vbs"/>
+
+TestScriptFileName ‘®«
+
+TestScriptFileName ‘®«‚ɁATest.vbs ‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚é‚ƁA‚»‚̃tƒ@ƒCƒ‹–¼‚©‚ç
+‹N“®‚µ‚½ê‡‚̂݁A—LŒø‚É‚È‚è‚Ü‚·B
+ +
+TestScriptFileNameExcepted ‘®«‚ɁATest.vbs ‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚é‚ƁA‚»‚Ì
+ƒtƒ@ƒCƒ‹–¼uˆÈŠOv‚©‚ç‹N“®‚µ‚½ê‡‚̂݁A—LŒø‚É‚È‚è‚Ü‚·B
+ +
+<TestCases TestSymbols="T_Sample1, T_Sample2"
+ TestScriptFileNameExcepted="Test.vbs"/>
- - - - + + + + - -
+ +