Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 作为安装库的MSI的一部分运行库的单元测试是一个好主意吗?_.net_Unit Testing_Installation_Windows Installer - Fatal编程技术网

.net 作为安装库的MSI的一部分运行库的单元测试是一个好主意吗?

.net 作为安装库的MSI的一部分运行库的单元测试是一个好主意吗?,.net,unit-testing,installation,windows-installer,.net,Unit Testing,Installation,Windows Installer,我有一个系统,它有许多相互作用的组件。我突然想到要在安装过程中运行测试,以确保它在客户机中正常工作 这听起来合理吗?你看过吗?您将使用什么框架来运行测试?执行某种安装后测试以检查安装状态似乎是一件非常合理的事情。无论您是将其称为单元测试还是将其视为单元测试,都可能会混淆主题。当然,除非您正在为开发人员安装第三方组件,并且您想测试构建。我不认为您想运行整个单元测试套件。根据应用程序的大小和测试套件的大小,这可能成为安装过程中非常昂贵的一部分。此外,单元测试应该隔离功能块,独立于它们的环境 更有价值

我有一个系统,它有许多相互作用的组件。我突然想到要在安装过程中运行测试,以确保它在客户机中正常工作


这听起来合理吗?你看过吗?您将使用什么框架来运行测试?

执行某种安装后测试以检查安装状态似乎是一件非常合理的事情。无论您是将其称为单元测试还是将其视为单元测试,都可能会混淆主题。当然,除非您正在为开发人员安装第三方组件,并且您想测试构建。

我不认为您想运行整个单元测试套件。根据应用程序的大小和测试套件的大小,这可能成为安装过程中非常昂贵的一部分。此外,单元测试应该隔离功能块,独立于它们的环境


更有价值的可能是一组测试,打包成一个独立的程序,专门针对可能有问题的安装方面。例如,确保注册表项已写入32位与64位计算机上的预期位置,或者临时文件区域是可读/写的。

某种形式的验证安装成功并且必要的组件可用是有意义的。但是我想你可能在单元测试中找错了方向


单元测试是为了确保代码在部分系统被修改后仍能正常工作。您可能会扭曲一个单元测试框架来完成您需要的任务,但这不是它的主要任务,您可能会遇到意想不到的问题。

单元测试(理想情况下)应该是环境独立的,所以我认为您不希望在软件安装后运行单元测试。但是,您应该运行系统验证测试,以验证软件所需的环境条件是否存在。环境条件的常见示例有:web服务的可用性、适当的文件访问权限和网络访问的可用性。

那么您有什么建议?一个简单的.net命令行?还是Powershell sript?我问过关于单元测试的b/c,所有的框架都已经准备好了,我不需要自己重新编程。