Unit testing 以编程方式将.reg文件合并到win32注册表中
以编程方式将.reg文件合并到注册表中的最佳方法是什么?这是用于单元测试的;.reg文件是一个测试工件,它将在测试开始和结束时被添加然后删除Unit testing 以编程方式将.reg文件合并到win32注册表中,unit-testing,registry,Unit Testing,Registry,以编程方式将.reg文件合并到注册表中的最佳方法是什么?这是用于单元测试的;.reg文件是一个测试工件,它将在测试开始和结束时被添加然后删除 或者,如果有更好的方法对注册表进行单元测试…我通过检查文件关联来研究它 在Windows上,.reg文件似乎只是作为regedit.exe可执行文件的第一个参数调用 所以你可以说regedit.exe“mytest.reg”。我不确定的是如何摆脱弹出的要求您确认的对话框。使用Win32 API函数ShellExecute()或ShellExecuteEx(
或者,如果有更好的方法对注册表进行单元测试…我通过检查文件关联来研究它 在Windows上,.reg文件似乎只是作为
regedit.exe
可执行文件的第一个参数调用
所以你可以说
regedit.exe“mytest.reg”
。我不确定的是如何摆脱弹出的要求您确认的对话框。使用Win32 API函数ShellExecute()或ShellExecuteEx()。如果注释为“打开”,则应合并.reg文件。我还没有测试过它,但它应该可以工作。可以使用.reg文件删除注册表项,尽管我不确定它的文档化程度如何。以下是方法:
REGEDIT4
[-HKEY_CURRENT_USER\Software\<otherpath>]
编写单元测试最令人沮丧的事情之一是处理依赖关系。关于测试驱动开发,最伟大的事情之一是,它生成的代码与依赖项解耦。酷吧
当我发现自己在问这样的问题时,我会寻找将我正在编写的代码与依赖性分离的方法。将注册表的读取与您想要测试的复杂性分开。如果您要测试,我将使用reg命令(详细信息如下)。如果您能告诉我们您使用的语言,我们可以提供特定语言的代码 C:>reg/ REG操作[参数列表] 操作[查询|添加|删除|复制| 保存|加载|卸载|恢复| 比较|导出|导入|标志] 返回代码:(REG比较除外) 0-成功 1-失败 有关特定操作类型的帮助: 注册添加/? 注册删除/? [剪下]约翰尼·马蒂斯:“如果评论‘公开’是什么意思?
regedit /s "myfile.reg"