【发布时间】:2012-11-01 15:22:13
【问题描述】:
我开始使用 WiX(是的,不是 Installshield)做一些安装工作,我希望做一些安装程序的 TDD。有人知道这样做的简单方法吗?
【问题讨论】:
我开始使用 WiX(是的,不是 Installshield)做一些安装工作,我希望做一些安装程序的 TDD。有人知道这样做的简单方法吗?
【问题讨论】:
在我看来,这更像是一个集成测试而不是 TDD。
据我所知,没有 MSI 测试套装。
不过你可以尝试这样的事情(假设你有一个连续的集成服务器):
之后,您可以确定已安装的应用程序会执行应有的操作。
【讨论】:
如果您创建一些脚本文件来检查文件是否在正确的位置,它是否有意义。我希望把它做成 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
【讨论】:
在生成的 MSI 上运行一些标准测试可能不是一个坏主意。 MSI 文件支持许多不同的部署方案:管理员安装以提取文件,广告安装为活动目录,静默安装,维护安装,卸载等......也许为此创建一个小型测试套件确实是一个想法 - 也许它是据我所知,甚至被考虑使用 WIX 工具集。
但是,我认为提供高质量设置的第一步,最好的一步是通过 MSI 验证套件运行 MSI。这些被称为 ICE(内部一致性评估器),它们作为 *.cub 文件与 Windows Installer SDK 一起提供。运行这些脚本往往会揭示 MSI 中的许多不良设计结构。用于此目的的 WIX 工具称为 Smoke.exe。
【讨论】: