Tôi bắt đầu thực hiện một số công việc cài đặt bằng WiX (yay, not Installshield) và tôi đã hy vọng sẽ thực hiện một số TDD của trình cài đặt. Có ai biết một cách dễ dàng để làm điều này?trình cài đặt thử nghiệm đơn vị
Trả lời
Nghe có vẻ giống với thử nghiệm tích hợp hơn TDD.
Theo như tôi có thể nói không có bộ thử nghiệm MSI nào phù hợp.
Tuy nhiên bạn có thể thử một cái gì đó như thế này (giả sử bạn có một máy chủ tích hợp contiunous):
- sau thành công xây dựng, lắp đặt MSI trên một máy ảo sạch - nếu cài đặt không làm điều gì đó (mail, vé, bất cứ điều gì)
- chạy bất cứ thử nghiệm hội nhập mà bạn có trong dự án
của bạn Sau đó bạn có thể chắc chắn rằng ứng dụng được cài đặt làm những gì nó cần.
Có thể không phải là một ý tưởng tồi để chạy một vài thử nghiệm chuẩn trên một MSI được tạo. Các tập tin MSI hỗ trợ rất nhiều kịch bản triển khai khác nhau: admin install để trích xuất các tập tin, cài đặt được quảng cáo cho thư mục hoạt động, cài đặt im lặng, cài đặt bảo trì, gỡ cài đặt, v.v. Có thể thực sự là một ý tưởng để tạo một bộ thử nghiệm nhỏ cho điều này - có lẽ nó thậm chí được xem xét cho bộ công cụ WIX cho tất cả những gì tôi biết.
Tuy nhiên, tôi nghĩ bước đầu tiên, tốt nhất hướng tới việc cung cấp thiết lập chất lượng là chạy MSI thông qua bộ xác nhận MSI. Chúng được gọi là ICE (Internal Consistency Evaluators) và chúng được phân phối dưới dạng tệp * .cub với Windows Installer SDK. Chạy các tập lệnh này có xu hướng tiết lộ rất nhiều cấu trúc thiết kế xấu trong MSI. Công cụ WIX cho điều này được gọi là smoke.exe.
Tôi nghĩ rằng không cần phải gọi khói một cách rõ ràng. Ánh sáng chạy thử nghiệm băng ở darice.cub và mergemod.cub (khi cần thiết) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html –
Liệu nó làm sence, nếu bạn tạo một số tập tin kịch bản để kiểm tra rằng tập tin trên đúng chỗ. Tôi hy vọng làm cho nó như perl hoặc python script
test_installer_wix.pl
msiexec /x product.msi # remove
msiexec /i product.msi /silent # install
ASSERT_EXIST_FILE(PFILE, 'productname/application.exe')
ASSERT_REGKEY_EXISTS()
và vv
Tôi muốn thêm liên kết đến bài viết về cách tạo thử nghiệm đơn vị cho WIX installer
cơ sở dữ liệu: http://miroslawmiodonski.blogspot.com/2012/10/how-to-create-unit-test-for-wix.html
- 1. Thử nghiệm đơn vị với số đơn
- 2. Icefaces thử nghiệm đơn vị
- 3. mùi thử nghiệm đơn vị
- 4. Thử nghiệm Đơn vị XNA
- 5. Thử nghiệm đơn vị với Oracle
- 6. Thử nghiệm đơn vị sau khi thử nghiệm
- 7. Thử nghiệm đơn vị thử nghiệm Javascript Sandbox
- 8. quy ước đặt tên gói thử nghiệm đơn vị
- 9. VS2012 không chạy thử nghiệm đơn vị
- 10. Đơn vị thử nghiệm chậm với Cobertura
- 11. rake không chạy thử nghiệm đơn vị
- 12. Chương trình MPI thử nghiệm đơn vị có gtest
- 13. Thử nghiệm đơn vị cho đầu ra trình biên dịch
- 14. Python CLI đơn vị chương trình thử nghiệm
- 15. Đơn vị thử nghiệm một trình biên dịch
- 16. Thử nghiệm đơn vị sơ bộ
- 17. Quy tắc thử nghiệm đơn vị
- 18. Thử nghiệm đơn vị với Spring Security
- 19. Thử nghiệm đơn vị trên Android NDK
- 20. Thử nghiệm đơn vị hộp đen
- 21. Đơn vị thử nghiệm IList với CollectionAssert
- 22. Thử nghiệm đơn vị dịch vụ web
- 23. Thử nghiệm đơn vị đa luồng
- 24. Đồ họa thử nghiệm đơn vị
- 25. thử nghiệm đơn vị mô-đun javascript
- 26. Đơn vị thử nghiệm Jersey với Mocks
- 27. Chủ đề thử nghiệm đơn vị?
- 28. Thử nghiệm đơn vị trong CakePHP?
- 29. Thử nghiệm đơn vị với ServiceLocator
- 30. Đơn vị thử nghiệm Ứng dụng Firemonkey
Ngoài việc trên, tôi rất muốn giới thiệu cài đặt trên đầu trang của bản cài đặt trước nhiều lần đặc biệt là khi bạn đang sử dụng một MSI (Windows Installer). Bằng cách này bạn sẽ có thể làm hỏng Windows Installer (registry, các file, vv) trước khi người dùng kinh nghiệm này, và phát triển một giải pháp. –