Tôi chỉ cần một cái gì đó rất đơn giản như "chạy lệnh này và thành công nếu có 'chuỗi này' một nơi nào đó trong đầu ra giao diện điều khiển, không nếu không". Có một công cụ như vậy không?Có khung kiểm thử đơn vị cho các tệp lô Windows không?
Trả lời
Không phải là tôi biết, nhưng bạn có thể dễ dàng viết một tập lệnh theo lô khác.
call TestBatchScript.cmd > console_output.txt
findstr /C:"this string" console_output.txt
sẽ đặt% errorlevel% thành 0 nếu chuỗi được tìm thấy và không khác nếu chuỗi bị thiếu. Sau đó, bạn có thể kiểm tra điều đó bằng IF ERRORLEVEL 1 goto :fail
và thực thi bất kỳ mã nào bạn muốn sau nhãn :fail
.
Nếu bạn muốn đánh giá nhỏ gọn một số chuỗi như vậy, bạn có thể sử dụng || Cú pháp:
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
Hoặc, bạn có thể đi xa hơn nữa và đọc danh sách các chuỗi từ một tập tin
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
tôi đã tạo ra một thư viện cho kiểm tra đơn vị cửa sổ hàng loạt. Nó hiện đang trong giai đoạn trứng nước, nhưng nó hoạt động và tôi sử dụng nó.
Nó được gọi là cmdUnit và nó có thể được tải về từ trang web của dự án trên bitbucket:
tôi sử dụng sau đây cho filter lệnh loại:
Đối với tập tin thực thi foo.cmd
, tạo ra sau tệp:
foo.in.txt
:
hello
foo.expected.txt
:
hello world
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
Sau đó chạy foo.test.cmd
- 1. Khung kiểm thử đơn vị nào?
- 2. Khung kiểm thử đơn vị nào để sử dụng cho phát triển C trên Windows?
- 3. Các khung kiểm thử đơn vị nào có sẵn cho bộ x86?
- 4. khung kiểm tra đơn vị cho C
- 5. Có khung kiểm thử đơn vị Java tự động kiểm tra getters và setters không?
- 6. Kiểm thử đơn vị PHP
- 7. Khung kiểm tra đơn vị cho Vala
- 8. Kiểm thử đơn vị ASP.NET Windows7/IIS7
- 9. Kiểm thử đơn vị trong C++
- 10. Kiểm thử đơn vị IHttpModule
- 11. Kiểm thử đơn vị với một tệp đầu vào
- 12. Khung kiểm tra đơn vị cho Oracle PL/SQL?
- 13. Khung kiểm tra đơn vị C nào?
- 14. Hệ thống tệp giả cho thử nghiệm đơn vị Perl
- 15. Kiểm thử đơn vị trong PHP?
- 16. Các khung kiểm thử nào được sử dụng cho Rails?
- 17. Đơn vị kiểm thử ứng dụng facebook
- 18. Kiểm thử đơn vị với Mockito
- 19. Khung kiểm tra đơn vị cho C: So sánh
- 20. Khung thử nghiệm đơn vị sinh học là gì?
- 21. Kiểm tra đơn vị - Có phải là hình thức không tốt để thử nghiệm đơn vị gọi các bài kiểm tra đơn vị khác
- 22. Kiểm thử đơn vị trong C++
- 23. WPF MVVM và Kiểm thử Đơn vị
- 24. Kiểm tra đơn vị trạng thái cho Windows Phone
- 25. Thử nghiệm đơn vị với Khung thực thể
- 26. Kiểm thử đơn vị đối với các lỗi biên dịch
- 27. Thử nghiệm đơn vị với số đơn
- 28. Kiểm thử đơn vị chương trình KHÔNG nên làm gì
- 29. Có bất kỳ khung kiểm tra Đơn vị tốt nào cho Ada không?
- 30. Các vectơ thử nghiệm cho đơn vị dấu chấm động
Xem thêm http://stackoverflow.com/questions/940497/how-to-do-tdd- và-đơn vị-kiểm tra-in-powershell – TrueWill