我只需要一些非常簡單的東西,比如「運行此命令併成功,如果在控制檯輸出中有'此字符串',則以其他方式失敗。有這樣的工具嗎?是否有Windows批處理文件的單元測試框架?
7
A
回答
4
不,我知道的,但你可以很容易地編寫一個在另一個批處理腳本。
call TestBatchScript.cmd > console_output.txt
findstr /C:"this string" console_output.txt
如果找到字符串,將%errorlevel%設置爲零;如果字符串不存在,則設置爲非零。然後,您可以使用IF ERRORLEVEL 1 goto :fail
進行測試,並在:fail
標籤後執行任何您想要的代碼。
如果你想幾個這樣的字符串的緊湊評價,您可以使用||語法:
call TestBatchScript.cmd > console_output.txt
findstr /C:"teststring1" console_output.txt || goto :fail
findstr /C:"teststring2" console_output.txt || goto :fail
findstr /C:"teststring3" console_output.txt || goto :fail
findstr /C:"teststring4" console_output.txt || goto :fail
goto :eof
:fail
echo You Suck!
goto :eof
或者,你可以再進一步,從文件
call TestBatchScript.cmd > console_output.txt
set success=1
for /f "tokens=*" %%a in (teststrings.txt) do findstr /C:"%%a" console_output.txt || call :fail %%a
if %success% NEQ 1 echo You Suck!
goto :eof
:fail
echo Didn't find string "%*"
set success=0
goto :eof
2
我已經創建了一個Windows批處理單元測試庫讀取字符串列表。目前它還處於起步階段,但它起作用,我使用它。
這就是所謂的cmdUnit,它可以從項目網站上到位桶下載:
1
我用下面的filter類型命令:
對於批處理文件foo.cmd
,創建以下文件:
foo.in.txt
:
hello
foo.expected.txt
:
世界你好
foo.test.cmd
:
@echo off
echo Testing foo.cmd ^< foo.in.txt ^> foo.out.txt
call foo.cmd <foo.in.txt> foo.out.txt || exit /b 1
:: fc compares the output and the expected output files:
call fc foo.out.txt foo.expected.txt || exit /b 1
exit /b 0
然後運行foo.test.cmd
相關問題
- 1. Rascal是否有單元測試框架?
- 2. 是否可以單元測試或斷言CMD /批處理文件的結果?
- 3. 是否有單元測試xml以外的替代框架xmlunit?
- 4. 是否有GNU make的單元測試框架?
- 5. Rascal單元測試框架是否支持測試夾具?
- 6. 具有ms單元測試框架的單元測試實體框架
- 7. 是否有Windows批處理文件的heredoc功能?
- 8. Orbeon中是否有單元測試框架?
- 9. 是否有用PowerShell腳本測試PowerShell的單元測試框架?
- 10. 是否有自動測試getter和setter的Java單元測試框架?
- 11. 播放框架批處理文件
- 12. Windows批處理 - 檢查文件是否具有超過24h
- 13. 批處理文件的Windows
- 14. 是否有一個.net框架來管理單元和集成測試?
- 15. WPF單元測試框架
- 16. Zend框架單元測試
- 17. ColdFusion單元測試框架
- 18. iOS框架單元測試
- 19. 批處理文件到測試域
- 20. 批處理文件到java測試
- 21. .NET單元測試框架,可以處理多個線程的測試
- 22. 如何檢測文件夾是否爲空(Windows批處理文件)?
- 23. Starbasic有單元測試框架嗎?
- 24. 如何測試一個Zip文件在windows批處理文件中是否有效
- 25. Windows批處理文件:通過參數循環並測試param是否是磁盤上的文件?
- 26. 檢測文件是否在批處理文件中打開
- 27. 在Windows批處理文件中設置和測試變量
- 28. Windows批處理文件
- 29. JUnit框架是否有測試?
- 30. Windows批處理文件處理 - 循環
參見http://stackoverflow.com/questions/940497/how-to-do-tdd-和單元測試功能於的powershell – TrueWill