2010-04-21 14 views
9

Tôi mới bắt đầu sử dụng QTestLib. Tôi đã xem qua số manualtutorial. Mặc dù tôi hiểu làm thế nào để tạo ra các bài kiểm tra, tôi chỉ không nhận được làm thế nào để làm cho những bài kiểm tra thuận tiện để chạy. Nền thử nghiệm đơn vị của tôi là NUnit và MSTest. Trong những môi trường đó, nó không quan trọng (sử dụng GUI, ít nhất) để thay thế giữa việc chạy một thử nghiệm đơn lẻ, hoặc tất cả các thử nghiệm trong một lớp thử nghiệm đơn lẻ, hoặc tất cả các thử nghiệm trong toàn bộ dự án, chỉ bằng cách nhấn vào nút bên phải.Kiểm tra đơn vị trong QTestLib - chạy thử nghiệm/kiểm tra đơn trong lớp/tất cả các bài kiểm tra

Tất cả những gì tôi thấy trong QTestLib là bạn sử dụng macro QTEST_MAIN để chạy thử nghiệm trong một lớp, sau đó biên dịch và kiểm tra từng tệp riêng lẻ; hoặc sử dụng QTest::qExec() trong main() để xác định đối tượng nào cần kiểm tra, sau đó thay đổi thủ công và biên dịch lại khi bạn muốn thêm/xóa lớp thử nghiệm.

Tôi chắc chắn tôi đang thiếu thứ gì đó. Tôi muốn để có thể dễ dàng:

  • Chạy một phương pháp thử nghiệm đơn
  • Chạy các bài kiểm tra trong toàn bộ một lớp
  • Run all tests

Bất kỳ của những người sẽ gọi thích hợp thiết lập/chức năng teardown.

EDIT: Tiền thưởng hiện khả dụng. Có phải là một cách tốt hơn, hoặc một Á hậu thử nghiệm GUI xử lý nó cho bạn hoặc một cái gì đó. Nếu bạn đang sử dụng QtTest trong một môi trường hướng thử nghiệm, hãy cho tôi biết những gì đang làm việc cho bạn. (Scripts, chạy thử nghiệm, vv)

+0

Bạn nên xem: http://stackoverflow.com/questions/9944507/how-to-compose-all-qttestlib-unit-tests-results-in-a-single-file-while-using- a) 10165709 # 10165709 – muenalan

Trả lời

5

Bạn có thể chạy trường hợp thử nghiệm chỉ được lựa chọn (phương pháp thử) bằng cách thông qua tên thử nghiệm như command line arguments:

myTests.exe myCaseOne myCaseTwo 

Nó sẽ chạy tất cả trong tệp/dọn dẹp quá. Thật không may là không có sự hỗ trợ cho các ký tự đại diện/mẫu phù hợp, do đó, để chạy tất cả các trường hợp bắt đầu bằng chuỗi đã cho (tôi giả sử đó là ý nghĩa của "chạy thử nghiệm trong toàn bộ lớp"), bạn phải tạo tập lệnh (số lượng cửa sổ/bash/perl/whatever) gọi:

myTests.exe -functions 

phân tích cú pháp kết quả và chạy thử nghiệm đã chọn bằng cú pháp đầu tiên.

Để chạy tất cả các trường hợp, chỉ cần không vượt qua bất kỳ thông số:

myTests.exe 
+0

Có thể họ sẽ cải thiện chức năng trong phiên bản tương lai .... –

1

Ba tính năng theo yêu cầu của OP, được tích hợp hiện nay vào Qt Creator.

Dự án sẽ tự động được quét để kiểm tra và chúng sẽ xuất hiện trên ngăn Kiểm tra. Dưới cùng bên trái trong ảnh chụp màn hình:

Qt Creator screenshot

Mỗi thử nghiệm và dữ liệu tương ứng có thể được kích hoạt bằng cách nhấn vào hộp kiểm. Trình đơn ngữ cảnh cho phép chạy tất cả các bài kiểm tra, tất cả các bài kiểm tra của một lớp, chỉ có một bài kiểm tra được chọn hoặc chỉ một bài kiểm tra. Theo yêu cầu.

Kết quả kiểm tra cũng sẽ có sẵn từ Trình tạo Qt. Chỉ báo màu sẽ hiển thị dấu/không cho mỗi thử nghiệm, cùng với thông tin bổ sung như thông báo gỡ lỗi.

Kết hợp với Trình tạo Qt, việc sử dụng macro QTEST_MAIN cho mỗi trường hợp thử nghiệm sẽ hoạt động tốt, vì mỗi tệp thi hành được biên dịch sẽ tự động được Trình tạo Qt gọi.

Để biết tổng quan chi tiết hơn, hãy tham khảo phần Running Autotests trong Hướng dẫn tạo người tạo Qt.