我开始使用WiX(yay,而不是Installshield)来做一些安装程序工作,我希望能做一些安装程序的TDD。有谁知道一个简单的方法来做到这一点?单元测试安装程序
单元测试安装程序
回答
听起来我更像是一个集成测试,而不是TDD。
据我所知,本身没有MSI测试套装。
不过你可以尝试这样的事情(假设你有一个连续预防集成服务器):
- 成功构建后,干净的虚拟机上安装MSI - 如果安装失败,做一些事情(邮件,车票,无论)
- 来看,你拥有的任何集成测试你的项目
之后,你可以肯定的是安装的应用程序做什么它应该。
对生成的MSI运行一些标准测试可能不是一个坏主意。 MSI文件支持许多不同的部署方案:管理员安装来解压缩文件,为活动目录进行广告安装,静默安装,维护安装,卸载等等......也许这确实是一个想法,为此创建一个小测试套件 - 也许它是即使是我所知道的WIX工具集也是如此。
但是,我认为提供质量设置的第一步,也就是通过MSI验证套件运行MSI。这些被称为ICE(内部一致性评估器),它们作为* .cub文件与Windows Installer SDK交付。运行这些脚本往往会在MSI中暴露出许多糟糕的设计结构。此WIX工具称为smoke.exe。
我认为没有必要明确地呼吁烟雾。 Light在darice.cub和mergemod.cub中运行冰测试(需要时) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html – 2009-10-16 12:56:25
如果您创建了一些脚本文件来检查文件是否在正确的位置,它是否会使您感到惊讶?我希望让Perl或Python脚本
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()
等
我要添加链接,发布有关如何为WIX installer
数据库中创建单元测试:http://miroslawmiodonski.blogspot.com/2012/10/how-to-create-unit-test-for-wix.html
- 1. 安装程序的单元测试
- 2. 如果安装程序提出了在Python单元测试
- 3. 安装设备单元测试框架
- 4. 安装测试单元全在JRuby
- 5. 服务的单元测试安装
- 6. Inno Setup安装程序测试安装程序退出代码
- 7. 安装谷歌的JS测试单元测试
- 8. CMake如何使用单元测试安装测试文件
- 9. 安装Apple苹果MFI程序测试
- 10. 单元测试roboletric安卓
- 11. 使用单元测试进行线程安全测试
- 12. 单元测试ASP.NET应用程序
- 13. Python的CLI程序单元测试
- 14. 单元测试并行Java程序
- 15. Android应用程序单元测试
- 16. 单元测试tkinter应用程序
- 17. 单元测试batman.js应用程序
- 18. 帮助程序类和单元测试
- 19. Netty SSL处理程序单元测试
- 20. 单元测试JavaEE应用程序
- 21. 单元测试golang处理程序
- 22. 单元测试http处理程序?
- 23. 单元测试实用程序方法
- 24. 单元测试Dababase应用程序
- 25. Selenium单元测试ExtJS应用程序
- 26. 单元测试事件处理程序
- 27. 单元测试程序C代码
- 28. 单元测试opencv android应用程序
- 29. 单元测试Vertx.io应用程序
- 30. 获取程序ApplicationExitCode单元测试
除上述之外,我强烈建议重复安装以前的安装,特别是在使用MSI(Windows安装程序)时。通过这种方式,您可能会在用户遇到此问题之前破坏Windows Installer(注册表,文件等)并开发解决方案。 – 2012-11-05 22:17:19