Có cách nào tôi có thể hiển thị tiến trình của một TestMethod đơn trong Visual Studio 2008 không?Có thể hiển thị tiến trình trong khi thực thi Visual Studio TestMethod không?
Trong một tập hợp các bài kiểm tra đơn vị, tôi có một TestMethod duy nhất chạy trong một thời gian rất dài - thông thường sẽ mất từ 30 đến 60 phút. Tôi đã đặt Thời gian chờ bằng thuộc tính [Hết thời gian], không có vấn đề ở đó. Nhưng tôi muốn có thể nhận được một dấu hiệu trực quan về sự tiến bộ của thử nghiệm.
Tôi biết cửa sổ Kết quả kiểm tra cho phép cập nhật tiến trình trực quan của tất cả các phương pháp thử nghiệm. Những gì tôi muốn là một bản cập nhật tiến độ trực quan của một phương pháp duy nhất. Trong một ứng dụng WinForms tôi sẽ bật lên một điều khiển ProgressBar. Trong ứng dụng giao diện điều khiển, tôi sẽ định vị con trỏ và hiển thị thông báo trạng thái. Nhưng đây là một bài kiểm tra đơn vị. Tôi có thể viết cho TestContext, nhưng cửa sổ đó không thể xem được cho đến khi thử nghiệm hoàn tất.
EDIT: Tôi biết có một cách để làm điều đó; đó là tất cả chỉ là phần mềm, vì vậy luôn luôn có một cách. Nhưng một cách đơn giản, thiết thực là gì?
Một cách để làm là tạo ứng dụng TestMethodProgressMonitor.exe, đọc từ một đường ống có tên và cập nhật thanh tiến trình dựa trên các thông báo đi qua đường ống. TestMethod có thể shellExec TestMethodProgressMonitor.exe, sau đó ghi vào đường ống có tên. Khi kết thúc, có thể có một lệnh shutdown nổi tiếng mà TestMethod gửi tới ứng dụng TestMethodProgressMonitor.exe.
Một tùy chọn khác là xây dựng TestMethodProgressMonitor.exe làm máy chủ COM và TestMethod có thể sử dụng COM (DCOM) để cập nhật thanh tiến trình được lưu trữ trong ứng dụng.
Một tùy chọn khác là sử dụng phương thức sendmessage() của user32.dll để gửi tin nhắn WM_COPYDATA đến ứng dụng màn hình. Điều này đôi khi được thực hiện để điều khiển từ xa các ứng dụng.
Đó là một số khả năng. Trước khi tôi thiết lập về việc xây dựng một trong số họ, tôi muốn biết nếu có một cách đơn giản hơn.
một thử nghiệm đơn vị mất nhiều thời gian, không phải là kiểm tra đơn vị cho mỗi định nghĩa. Điều gì khiến nó mất quá nhiều thời gian? –
Đây là thử nghiệm tạo tệp ZIP64; Bài kiểm tra mã hóa tập hợp các tệp dẫn đến tệp zip lớn hơn 4gb. Sau đó, tệp zip được cập nhật và lưu lại (hai lần). Mã này có khoảng 5 dòng được bao quanh bởi một vòng lặp. Nhưng có rất nhiều và nhiều I/O và rất nhiều DEFLATE. Bạn có thực sự nói rằng định nghĩa của kiểm tra đơn vị bao gồm một giới hạn thời gian? Giới hạn thời gian là bao nhiêu? – Cheeso